Chasing 208 for victory, Sri Lanka had lost two early wickets after a double-strike from Aaron Cowley and were struggling at 51/3 one stage.
However, Lakshan’s unbroken 157-run partnership with captain Kamindu Mendis, who remained unbeaten on 74, took the team through.
Fellow opener Manjot Kalra gave his skipper excellent support from the other end with a 99-ball 86 which included 12 boundaries and a six.
They put together an opening stand of 180 runs to gift a strong foundation to the Indian innings.
The former champions then lost wickets at regular intervals as the Indian bowlers started to dominate.
In other matches on the day, Sri Lanka coasted to a convincing seven-wicket win over Ireland in Group D with opener Dhananjaya Lakshan slamming a fine unbeaten 101 from 120 deliveries with the help of eight fours and a six.
This was South Africa’s second highest total in the U19 World Cup.
Their previous highest was 359/6 against Namibia in 2012.
In reply, Australia were given a steady start as Edwards and Max Bryant produced an opening stand of 57 runs in 14 overs before the latter was caught at extra cover off Nagarkoti’s bowling.
Indian pacers Shivam Mavi and Kamlesh Nagarkoti then picked up three wickets each as the Australians were dismissed for 228 in 42.5 overs.
Nagarkoti picked up 3/29, while Mavi finished with 3/45.
Lloyd Pope, a red-headed 18-year-old leg spinner from Adelaide, has destroyed England quarter-final of the Under-19 World Cup in New Zealand, breaking records and snatching victory from almost certain defeat to put Australia into the semi-final.
Pope’s wrong ‘un – and the magnetic hands of captain Jason Sangha in the slips, who took three screamers after contributing 58 to his side’s meagre 127 runs – devastated the English side who were all out for 96.