The South Africans, who bowled India out for a modest 159, were left chasing a tricky 116 in 25 overs after heavy thunderstorms forced the stoppage of play two hours.
The Proteas, already struggling at 17/3 before the rain break, finished with 103/8, with Reeza Hendricks making 35 and captain Wayne Parnell contributing a valiant 29.
Ajitesh Argal, Siddarth Kaul and Ravindra Jadeja picked up two wickets each to hand India their second title after winning the premier junior event for the first time in Sri Lanka in 2000.
The excellent drainage system at the ground ensured the game was not put off until Monday, the scheduled reserve day, and South Africa were left to chase 99 runs from the remaining 98 deliveries after the rain break.
Before the enforced break, seamer Argal had removed the in-form Pieter Malan and Rilee Rossouw while Jon Smuts ran himself out in a mix-up with his partner Hendricks.
Left-arm spinner Jadeja struck in the second over after the resumption when Jonathan Vandiar edged a faster delivery to wicketkeeper Sreevats Goswami, reducing South Africa to 22-4.
Hendricks and Parnell put on 50 for the fifth wicket to revive the Proteas, but the fired-up Indians kept the runs in check by picking up wickets at regular intervals.
The victory ceremony was disrupted when about 500 fans rushed on to the ground after the match, and as soon as security men stepped in to clear the field, heavy rain hit the ground for a second time.
A beaming Indian skipper Virat Kohli said he remembered his father most after the victory.
"He always wanted me to do something big for India and I am sure this would have made him proud," Kohli told AFP.
"It was a great effort by the whole team. I would like to particularly thank our coach (Dav Whatmore) who has been great with us and taught us to believe in ourselves.
"We may not have put up a big total but we knew it was not going to be easy for South Africa to chase under lights."
Earlier, the South African bowlers skittled India for 159, setting an ideal platform for the Proteas to win their first junior World Cup after finishing runners-up to Australia in 2002.
Skipper Parnell, who gave India first strike, led the way with 2-21 from 7.4 overs of accurate left-arm seam bowling that helped terminate their rivals' innings in the 46th over.
Matthew Arnold, Roy Adams and Mohammad Vallie also took two wickets each as Tanmay Srivastava played a lone hand for the Indians with 46.
The South African bowlers, who won their team a place in the final by restricting defending champions Pakistan to 153 in the semi-final, grabbed Indian wickets cheaply.
Goswami, the other opener, made six before edging Arnold to second slip to leave India on 27-2 in the 10th over.
Left-handed Srivastava and skipper Virat Kohli carried the total to 74-2 by the 23rd over when both batsmen fell to catches by Sybrand Engelbrecht in the point region.
Virat Kohli had made 19 when he slashed at a ball from Malan, Engelbrecht leaping to produce an outstanding catch.
The fielder then took a similar catch off Adams to remove the dangerous Srivastava, who hit four boundaries and a six in his fluent innings.
"It"s definitely a big victory for us and I dedicate this win to my late father who passed away in 2006. It has been a team effort and I compliment all my fellow team-mates especially the good job done by the bowlers," said Indian captain Virat Kohli at the post match press conference.
India 159 all out in 45.5 overs (Tanmay Srivastava 46, Virat Kohli 19, Saurabh Tiwary 20, Manish Pandey 20; Parnell 2 for 21, Matt Arnold 2 for 30, Adams 2 for 38) beat South Africa 103/8 in 25 overs (Hendricks 35, Parnell 29, Barnes 19; Ajitesh Argal 2 for 7, Ravinder Jadeja 2 for 25, Siddarth Kaul 2 for 26) by 12 runs (D/L method)