London (AFP) - India swept into the Champions Trophy semi-finals and eliminated woeful South Africa as Shikhar Dhawan and Virat Kohli inspired the holders' eight-wicket victory on Sunday.
Kohli's side avoided the embarrassment of an early exit as they survived a do or die showdown to advance from Group B in style.
Having dismissed South Africa for 191, two-time champions India cruised home with 12 overs to spare at The Oval.
"We wanted to step up that intensity. This is probably our best game so far," Kohli said.
"When the opportunity comes your way, you have to grab it."
In-form opener Dhawan was the key figure with 78 from 83 balls, including 12 fours, while captain Kohli weighed in with a typically elegant 76.
It was a nerveless performance from India, who had come under fire after failing to defend a total of 321 in their heavy defeat against Sri Lanka.
India join England and Bangladesh in the semi-finals, with the remaining place in the last four going to the winner of Monday's Group B meeting between Sri Lanka and Pakistan.
Kohli's men will likely face Group A runners-up Bangladesh in Birmingham on Thursday as they bid to make the final for the fourth time.
"We played in Birmingham before. We like that pitch. It suits our game," said Kohli.
South Africa could have no complaints as they limply departed the tournament after a second successive defeat.
They will need a far more determined effort to prosper when they face England in one-day and Test action shortly.
Quinton de Kock's 53 was the only score of any substance from the spineless South Africans, who had three men run out in a wretched performance.
- 'Very sad' -
AB De Villiers was especially culpable as he threw away his wicket for the third time in a miserable tournament for the South Africa captain.
"We normally don't bat that way. We never got going. It's very sad obviously," said De Villiers.
After the flurry of South African run outs, India were lucky not to follow suit at the start of their chase.
Dhawan called for a single that was never on and David Miller narrowly missed the stumps with Rohit Sharma not even close to making his ground.
Sharma celebrated his escape by smashing a four and a six off successive balls from Kagiso Rabada.
Another aggressive shot from Sharma proved his downfall as a mistimed slog was caught behind by De Kock off Morne Morkel.
Keen to avoid further costly mishaps, India went conservative and scored only 37 from the first 10 overs.
But Kohli gradually began to take more risks and his pull to fine leg narrowly evaded the diving Morkel.
After driving Andile Phehlukwayo for a soaring six to reach 21, Kohli edged the same bowler towards Hashim Amla, but the slip fielder couldn't make a tough low catch.
With such a small target, India were never in danger of falling behind the run rate and Dhawan kept them on cruise control with some lusty blows off Imran Tahir.
Dhawan has been in fine form of late and he brought up his 29th ODI half century, and third in three matches, with a majestic four back down the ground.
As the partnership between Dhawan and Kohli went past 100, it was clear there would be no late fightback from South Africa.
Kohli hardly had to break sweat as he reached his 68th ODI fifty.
By the time Dhawan was dismissed by Tahir, his side had reached 151 and the large Indian following in the capacity crowd were in party mood.
Fittingly for such a one-sided affair, the winning blow was a huge six from Yuvraj Singh.