Cape Town - Shikhar Dhawan smashed a career-best 137 on Sunday as defending champions India made 307 for seven against South Africa in front of 80 000 fans in a Melbourne Cricket Ground World Cup blockbuster as Sri Lanka survived a scare against Afghanistan.
Left-handed Dhawan, 29, hit 16 boundaries and two sixes in his seventh one-day international century in a performance which will give India particular heart as they have never lost when the opener has previously hit a ton.
Ajinkya Rahane made 79 while Virat Kohli added 46 to his 107 in India's opening win over Pakistan.
South Africa spearhead Dale Steyn finished with unflattering figures of one for 55 from 10 overs while the Proteas were further hit as seamer Vernon Philander hobbled off the field with a hamstring injury.
Dhawan, who made 73 during the 76-run win over Pakistan in Adelaide last Sunday, put on 127 for the second wicket with Kohli and 125 for the third with Rahane.
Dhawan eventually fell in the 44th over when Hashim Amla, who had floored a difficult chance off Wayne Parnell when the batsman was on 53, picked up an easy catch at fine-leg off the same bowler.
Kohli and Dhawan came together in the third over after non-striker Rohit Sharma was run out for nought by a direct throw by South Africa captain AB de Villiers from mid-off.
With both teams having won their opening games, the winner will almost certainly be assured of a place in the quarter-finals.