London: Defending champions India made it to the semi-final of the ICC Champions Trophy by defeating South Africa in a must-win encounter in the final league match by seven wickets at the Kennington Oval, London on Sunday.
After bowling out the number one ranked ODI team for a paltry 191, India chased down the target with 12 overs remaining.
Shikhar Dhawan top-scored with an 83-ball 78-run knock while skipper Virat Kohli remained unbeaten on 76.
Bhuvneshwar Kumar and Jasprit Bumrah claimed two wickets each. This is the fifth-time India have reached the semi-final stage of the Champions Trophy.
After being put in to bat, South Africa were off to a good start. Openers Quinton de Kock (53) and Hashim Amla (35) started off slowly, but more importantly they looked set for the long haul.
Bumrah and Kumar were on point in their respective opening spells. South Africa's first boundary came in the fourth over when de Kock connected with a length delivery from Bumrah with the full face of the bat.
Amla earned his first boundary in the sixth over, getting on top of a length delivery from Bumrah and cut the ball towards the point fence.
Ashwin was hit for a four by de Kock and Amla clobbered Pandya for a six and four in one over. However, Ashwin provided the breakthrough with the wicket of Amla in the 18th over. The South African went after a flat and wide delivery and tried to cut, but he only managed an edge that was taken by wicketkeeper MS Dhoni.
Faf du Plessis joined de Kock in the middle and the duo took South Africa past the 100-run mark. De Kock soon reached his 13th ODI fifty off 68 deliveries but was cleaned up by Ravindra Jadeja for 53 off 72 deliveries.
AB de Villiers and du Plessis looked good in the early going, but a miscommunication in the middle arrested the team's momentum. De Villiers was struggling with a hamstring niggle and that eventually led to his downfall.
After du Plessis took off for a risky single towards point, de Villiers, despite diving full length, could not beat Pandya's throw and Dhoni did the rest. The South African skipper departed for 16 off 12 in the 29th over.
In the next over, another miscommunication led to du Plessis and new batsman David Miller finding themselves at the same end.
In chase of the modest total, India started off in a positive manner with Rohit taking on Rabada with a four and six in the third over of the innings. Dhawan then got a maximum for himself off Morkel.
Rohit though got ahead of himself and tried to take on Morkel's length delivery by making room, but only managed an edge that was taken by de Kock behind the stumps. Rohit departed for 12 off 20 deliveries.
Kohli walked out to join Dhawan in the middle and was welcomed by a couple of rippers from Rabada and then by Morkel. He took 25 deliveries to get his first boundary - a six off medium-pacer Phehlukwayo.
Dhawan, at the other end, had no issues finding the boundary rope. He got a move on taking back-to-back to boundaries off Morkel. Two more followed off Imran Tahir's bowling as he neared his fifty.
Kohli picked up his pace with four boundaries in quick time. With a boundary off Morris, Dhawan got to his 19th ODI fifty - his third successive fifty plus score in the tournament. Kohli followed suit and hit his 41st ODI fifty off 71 deliveries.
Yuvraj Singh sealed the match with a six and remained unbeaten on 23.
South Africa - 191 (de Kock 53, Bumrah 2-28, Bhuvneshwar 2-23)
India - 193 for 2 (Dhawan 78, Kohli 76*)
Result - India won by 8 wickets