Shikhar Dhawan hit a blazing century as India beat Australia by 36 runs on Sunday to condemn the reigning champions to their first defeat of this year's World Cup.
Dhawan's 117 and his 127-run opening stand with Rohit Sharma laid the foundation for India's 352 for five after captain Virat Kohli won the toss on a sunny London morning at the Oval.
Kohli himself hit a brisk 82 and combined well with Hardik Pandya in an 81-run third-wicket partnership that saw the pair pummel Australia's attack.
India then dismissed Australia for 316 in 50 overs to record their second straight victory of this World Cup after an opening win over South Africa.
Half-centuries by David Warner and Steve Smith were not enough for the five-time champions, whose record in the round-robin group stage now stands at two wins from three.
Afterwards, a delighted Kohli hailed India's win as the “perfect game”.
“A top, top win for us - especially after losing the (one-day international) series (against Australia) in India,” said the skipper. “We had a point to prove.
“The opening partnership was outstanding....It was the perfect game for us.” Australia captain Aaron Finch conceded his side had been “outplayed”.
“They got 120 runs off the last 10 overs which is a lot. We didn't bowl our best stuff and struggled to get wickets early on which was the key.
“It was just one of those games, they just outplayed us.”
Former captain Smith and Warner have both returned to international cricket in fine form after completing one-year bans for their part in a ball-tampering scandal.
Smith top-scored for Australia with 69 off 70 balls, while opener Warner made 56.
But it never looked like being enough against tight bowling, with Bhuvneshwar Kumar and Jasprit Bumrah taking three wickets apiece.
Earlier Dhawan and Sharma overcame a cautious start against Australia's new-ball duo of Pat Cummins and Mitchell Starc to put India in control with their 16th century partnership in ODIs.
Paceman Nathan Coulter-Nile finally struck in the 23rd over to have Sharma caught behind for 57 to get his first wicket of the World Cup.
Dhawan went on to reach his 17th ODI ton as he acknowledged the huge cheers from a largely India-supporting crowd.
Starc had Dhawan caught at deep midwicket to end an innings featuring 16 boundaries.
Dhawan took no further part in the match following a blow to his thumb off Coulter-Nile that needed treatment while he was batting “I played it very smartly and calmly. I really enjoy playing on this ground,” said Dhawan during the innings break after his third ODI hundred in five innings at the Oval.
Kohli registered his 50th fifty at this level in an already illustrious career that has taken him to the top of the batting standings in both Test and ODI cricket.
Pandya, who was dropped first ball by wicket-keeper Alex Carey, made the most of his reprieve to hit 48 runs off just 27 deliveries before falling to Cummins.
MS Dhoni also chipped in with a brisk 27.
India's total meant Australia were left needing to surpass Ireland's 329 for seven against England in 2011, the highest score by any team batting second to win a World Cup match.
They put up a spirited fight but an ever-increasing run-rate kept pulling them back.
Finch was run out for 36 while opening partner Warner survived an early scare when he edged a Bumrah delivery on to his stumps only for the bails to stay put.
Warner and Smith put on 72 runs for the second wicket but the left-hander fell to leg-spinner Yuzvendra Chahal.
Smith kept Australia in the hunt along with Usman Khawaja, who made 42.
But Kumar saw off Smith as part of a double strike in the 40th over that also accounted for Marcus Stoinis.
Chahal got the dangerous Glenn Maxwell for 28 and the chase was all but over, although Carey's unbeaten 55 did take Australia past 300.
India captain Virat Kohli said it was a “no-brainer” to bat first against Australia after winning the toss.
“It looks like a really nice wicket,” said Kohli. “It's nice and hard and dry. It's a used pitch and we think it's going to get lower and slower as the game goes on. Scoreboard pressure is always going to count.
“The sun is out, it's the Oval - it's a no-brainer to bat first,” the star batsman added.
As for India fielding an unchanged side, Kohli said: “The bowling line-up was really balanced. We don't want to change anything.
“We won the first game, the team is in good spirits, and we want to come out here and execute the same game plan.” Reigning champions Australia have won both their games in this World Cup so far.
They picked the same side that edged out the West Indies by 15 runs in Nottingham on Thursday.
Australia captain Aaron Finch admitted he would have also batted first had he won the toss, but backed his side to maintain their winning run all the same.
“I would have batted first, for the same reasons as Virat,” said Finch. “It might get a little bit slower later on. Either way, in the first 10 overs you've got to look to do the business. We weighed up making chances but we're confident with the way we've been going.”
Australia are on a 10-match winning streak in ODIs but Finch added: “In a World Cup — it's a different kind of pressure than playing a series against the same side. It's another good opportunity for the players to impress.”
India: Rohit Sharma, Shikhar Dhawan, Virat Kohli, KL Rahul, Kedar Jadhav, MS Dhoni, Hardik Pandya, Bhuvneshwar Kumar, Kuldeep Yadav, Yuzvendra Chahal, Jasprit Bumrah
Australia: Aaron Finch (captain), David Warner, Usman Khawaja, Steve Smith, Marcus Stoinis, Glenn Maxwell, Alex Carey, Pat Cummins, Nathan Coulter-Nile, Mitchell Starc, Adam Zampa