Shikhar Dhawan smashed 117 off 109 balls to set up a 36-run win over Australia as the defending champions suffered their first defeat of this year's mega-tournament.
Dhawan's 127-run opening stand with Rohit Sharma laid a solid foundation for India as they posted 352 after captain Virat Kohli won the toss on a sunny day.
Kohli himself struck a quick fire 82 and formed a solid partnership with all-rounder Hardik Pandya to put pressure on the reigning champions.
India then restricted Australia for 316 in 50 overs to get to their second consecutive victory of this World Cup after a thumping win over South Africa.
Half-centuries by David Warner and Steve Smith couldn’t save Australia from defeat as India continued to apply pressure.
India vs Australia Highlights
Smith top-scored for Australia with 69 off 70 balls, while opener Warner made a sedate 56 but the pace duo of Kumar and Bumrah restricted them with three wickets each.
Earlier, Starc had Dhawan caught at deep midwicket to end a solid innings.
Dhawan then took no further part in the game as he was struck on this thumb off Pat Cummins.
Pandya, who was caught on the move first ball, was dropped by wicket-keeper Alex Carey and he made the most of the second chance to hit 48 runs off just 27 deliveries.
Australia put up a decent fight but the score board pressure kept pulling things back.
Skipper Aaron Finch was run out for a well-made 36 while Warner survived an early scare when he edged a Bumrah delivery on to his stumps only for the bails to stay intact.
Bhuvneshwar Kumar added more woes to Australia’s run-chase following his double strike in the 40th over, accounting for Smith and Marcus Stoinis.
Chahal got rid of Glenn Maxwell for 28 although Carey's unbeaten 55 did get Australia over 300-run mark.