Southampton: 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.
Rohit Sharma reached his 23rd century in ODI, as his partnership with M. S. Dhoni is beginning to pick up pace as the match nearing towards its end.
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 after losing the toss.
While captain and star attraction Virat Kohli may have only made 18, brilliantly caught after a full-length dive from 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.
Earlier, South Africa won the toss and chose to bat. South Africa were restricted by India to 227/9 after brilliant bowling spell from Yuzvendra Chahal who bagged 4/55.
Jasprit Bumrah bagged both the wickets of Hashim Amla and Quinton de Kock early on, while captain Faf du Plessis brought some stability to the batting of the Proteas with a 38, whilst Chris Morris finished as the highest run-getter for South-Africa with a late 42 runs.
Chasing a target of 228, India are 171/3 after 40 overs, after Shikhar Dhawan was dismissed by Kagiso Rabada, and Virat Kohli was caught behind by Andile Phehlukwayo, thanks to a brilliant catch by Quinton de Kock.