Dhawan's ton, his seventh and also his highest One-Day International (ODI) score, is also the best World Cup score so far against the Proteas, surpassing former New Zealand captain Stephen Fleming's unbeaten 134 in 2003.
At the start, the defending champions got a huge jolt when opener Rohit Sharma (0) was run out by a direct hit from South African skipper AB de Villiers in only the third over.
However, Man-of-the-Match Dhawan and vice-captain Virat Kohli (46) combined well to put up a 127-run second-wicket partnership. The duo were extremely cautious after Rohit's wicket which resulted in a very slow start for India.
Backed by some excellent fielding, South African pacers restricted India quite easily in the powerplay because of which India were only 10/1 at the end of the fifth over. But as lethal pacer Dale Steyn (1/55) steamed in from one end, Dhawan gradually started targeting other bowlers. Both the Delhi batsmen played the ball to its merit and kept building the innings. The left-handed Dhawan took charge and played the anchor's knock in the presence of Kohli, which does not happen too often these days.
A fantastic square cut brought up Dhawan's half-century. But he was immediately given a reprieve when he was dropped by a flying Hashim Amla at backward point in the 20th over. Though it was a difficult chance, Dhawan's wicket could have turned the match in favour of the Proteas. Meanwhile, Kohli got out while trying to pull a short ball off Imran Tahir (1/48) at short mid-wicket. The 26-year-old, who scored a match-winning 107 against Pakistan last Sunday, was livid with himself.
However, incoming Ajinkya Rahane (79) ensured that India did not suffer a setback. His knock of 79 from 60 deliveries was studded with seven boundaries and three sixes over the huge MCG boundary.
Both Dhawan and Rahane upped the ante in the batting powerplay from 36th over to provide a brilliant platform for India to post a big total. The duo scored all over the park and the South African bowlers appeared hapless.
In the process, Dhawan notched up his century in 122 balls while Rahane brought up his ninth ODI half-century. The run-flow continued as India pushed on the pedal after Dhawan's century. The 29-year-old from Delhi hit 16 boundaries and two sixes in his 146-ball knock. Even Steyn, regarded as the world's best pacer, was hit for several sixes!
However, from a strong position of 261/2 in the 44th over, India finished poorly as they lost five wickets in the last six overs. Three consecutive boundaries by skipper Mahendra Singh Dhoni helped India push the score. In reply, South Africa started well despite losing wickets. Opener Hasim Amla (22), Faf du Plessis (55) and de Villiers (30) looked good at the crease until they gave away their wickets. South Africa looked well on course at 133/3 in the 29th over but a batting collapse saw any chance of them winning diminishing. From 133/3, the African team were tottering at 161/9 in the 38th over and it was only a matter of time before India sealed the match. It was a very disciplined bowling performance from the Indian attack. Pacers Mohammed Shami (2/30) and Mohit Sharma (2/31) picked up two wickets each while offie Ravichandran Ashwin finished with 3/41 from his 10 overs.