India set up a victory target of only 192 to reach the Champions Trophy semi-finals after rolling South Africa in 45 overs at The Oval.
Surprising defeats in their last outings meant this heavyweight match, instead of deciding first and second in Group B as predicted, would eliminate top-ranked South Africa or defending champion India in the first round.
South Africa was expected to be left behind after producing an even worse innings than the 219 they scored against Pakistan on Wednesday.
Both captains preached calm for the decider, but it was South Africa who failed to show it. Its innings, built slowly by openers Quinton de Kock (53) and Hashim Amla (35), unravelled with consecutive run outs in near-perfect conditions in south London, and skipper AB de Villiers was the first culprit.
De Villiers, under more pressure after scoring 4 and 0 in the Trophy, picked the lengths easily and looked comfortable in making 16 off 12 balls but when Faf du Plessis guided a Ravindra Jadeja delivery to point, Hardik Pandya was fast on the ball and accurate on the throw and de Villiers was caught well short despite diving.
David Miller came in and lasted only three balls after he was run out in a comical mix-up.
Du Plessis cut Ravichandran Ashwin to third man, set off, hesitated, set off again then changed his mind again and dived back. He made it to his crease a fraction before Miller, who was sent back to the dressing room by the TV umpire.
The fourth and fifth run outs by India in this tournament sent a shiver through the South Africans that they couldn’t shake off.
Du Plessis was eventually bowled by Pandya for 36, Chris Morris was out for 4, and JP Duminy was left as the last specialist batsman with 13 overs left. He couldn’t rally the tail. The last four wickets went for 13 runs, and the innings finished, aptly, on a run out.
Jadeja took 1-39 from his 10 overs, conceding no boundaries, and Ashwin, playing his first one-day international since January because of the left-handers in South Africa’s lineup, took 1-43.