Rohit Sharma celebrates after scoring his century.(BBC)
Rohit Sharma scored an unbeaten 122 to guide India to a straightforward six-wicket win against South Africa in their opening World Cup match.
Chasing 228, opener Rohit guided India home with 15 balls to spare.
A fine bowling display had restricted South Africa to 227-9 with leg-spinner Yuzvendra Chahal taking 4-51.
Jasprit Bumrah and Bhuvneshwar Kumar took two wickets apiece as Chris Morris top-scored with 42 for the Proteas, who have now lost their first three games.
Two-time winners India - the last team to get their campaign under way, with the tournament a week old - put together a complete performance with bat and ball in front of a sold-out Southampton crowd of more than 18,500 after losing the toss.
While captain and star attraction Virat Kohli may have only made 18, brilliantly caught by wicketkeeper Quinton de Kock, Rohit showed patience and control in his 144-ball stay at the crease, including 13 fours and two sixes.
On another difficult day for South Africa, they dropped a seemingly regulation catch offered by Rohit on 107 as David Miller put him down at extra cover off Kagiso Rabada.
After a third straight defeat, the Proteas' quest to reach the semi-finals now appears to be almost a knockout scenario as they cannot afford any more slip-ups with six games to play, starting against West Indies at the same venue on Monday.
This is the first time they have lost three successive matches at a World Cup.
Their weakened bowling attack, ravaged by injuries to pace bowlers Dale Steyn and Lungi Ngidi, was unable to make regular inroads as Rohit registered his 23rd ODI century to move one ahead of Sourav Ganguly on India's all-time batting records. (BBC)
Summarised scores: South Africa 227-9 (Chris Morris 42, Faf du plessis 38, Andile Phehlukwayo 34, David Miller 31, Kagiso Rabada 31* , Rassie Van Der Dussan 22, Quinton de kock 10; Yuzendra Chahal 4-51, Bhuvneshwar Kumar 2-44, Jasprit Bunrah 2-35) India 230-4 in 47.3 overs. (Rohit Sharma 122*, MS Dhoni 34, KL Pahul 26, Virat Kohli 18, Hardik Pandya 15; Kagiso Rabada 2-39 , Chris Morris 1-36, Andile Phehlukwayo 1-40) India won by 6 wickets.