India strolled into the Champions Trophy semifinals after routing South Africa for 191 at The Oval on Sunday.
After dispatching South Africa with unexpected ease inside 45 overs, India casually prolonged South Africa's misery for 38 more overs before Yuvraj Singh hit the winning runs by clipping part-time spinner JP Duminy for a six over midwicket.
India made 193-2 thanks to Shikhar Dhawan's 78 and Virat Kohli's unbeaten 76, and look like playing Bangladesh in the second semifinal on Thursday at Edgbaston.
Surprising losses in their last outings meant the heavyweight matchup at The Oval wouldn't decide first and second in Group B, as predicted before the tournament, but instead decide who of defending champion India or top-ranked South Africa was going home early.
Not India, who improved to 4-0 against the South Africans in Champions Trophy history, and knocked them out for a third time.
Both captains preached calm would be crucial, and it was South Africa who failed to show it in near-perfect conditions in south London. From 140-2 in the 29th over, South Africa went an ugly 51-8 the rest of the way.
Sent in to bat, South Africa's innings was built slowly by openers Quinton de Kock (53) and Hashim Amla (35), and unraveled with consecutive run outs.
Skipper AB de Villiers was the first culprit. De Villiers, under 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 faced three balls when 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 didn't shake off.
Du Plessis was eventually bowled by Pandya for 36, Chris Morris was out for 4, and 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, appropriately, on a run out.
The South Africans were frustrated by spinners Jadeja, who took 1-39 from his 10 overs without conceding a boundary, and Ashwin, playing his first one-day international since January because of the left-handers in South Africa's lineup. He took 1-43.
They were able to rest easy in the clubhouse while the top-order batsmen took care of business before a sell-out crowd of 22,828.
South Africa’s two highest-rated ODI bowlers in pacer Kagiso Rabada and spinner Imran Tahir, with backup from former No. 1 Morne Morkel. But they made little impact.
Morkel was a threat early, and deserved to take Rohit Sharma's wicket for 12 in the sixth over.
Kohli came in and gave a tough chance to Amla at slip on 21 but, thereafter, he and Dhawan were chanceless.
Kohli walked into medium-pacer Andile Phehlukwayo and launched him over mid-on for his first six, and reached his fifty off 71 balls. Dhawan got to his fifty with a boundary over mid on. He departed with victory in sight having scored a dozen fours and a six.
He and Kohli combined for 128 off nearly 25 overs. They were calm and assured. Unlike South Africa again.