Australia supplanted Sri Lanka in second spot in World Cup Pool A propelled by a 'big show' ton from Glenn Maxwell before they weathered Kumar Sangakkara's third consecutive century in Sydney on Sunday.
The Australians, aiming for a fifth World Cup triumph, amassed 376 for nine, Maxwell lighting up the Sydney Cricket Ground with 102 off 53 balls and then restricted Sri Lanka to 312 for nine to win by 64 runs, thus booking their place in the quarter-finals.
It was a crucial win by the co-hosts, leapfrogging Sri Lanka into second spot behind New Zealand with one more group match to play.
Victory secured Australia's place in the last eight and made a quarter-final against South Africa less likely.
In a high-scoring match before almost 40,000 fans, plenty of them Sri Lankans, Maxwell produced one of his famed 'big shows' with a pulsating maiden one-day international century off 51 balls to leave Sri Lanka with a massive run chase.
No side batting second have made more to win a World Cup match than Ireland's 329 for seven against England in Bangalore four years ago.
The mighty Sangakkara gave it a big shake, raising his third consecutive ton at the tournament off 100 balls and his 24th century in his 402nd ODI.
But the Australians breathed easier when he holed out to James Faulkner for 104 giving Aaron Finch a running catch to end his otherwise chanceless knock.
Maxwell thrilled the SCG full house with his audacious reverse sweeps, flicks and powerful hitting in an innings he has threatened to unleash in his previous 44 ODIs.
'The Big Show', as he is known, blasted his half-century off 26 balls with a pulled six off Thisara Perera and was particularly brutal with Seekkuge Prasanna, hoisting the leg-spinner for 34 off just 12 balls.
Maxwell and Shane Watson, back in the side after being dropped in Australia's previous match against Afghanistan for repeated failures with the bat, plundered 160 runs off 13.4 overs.
The Sri Lankans were at their wits' end trying to find ways to stop the run riot as Maxwell and Watson took the bowlers apart.
Maxwell had a life on 93 when he top-edged Mathews and wicketkeeper Sangakkara scurried back and made his ground only to drop the catch, but he was out soon afterwards when caught by Lasith Malinga at mid-on.
Maxwell narrowly missed out on equalling the 50-ball record for the fastest World Cup hundred set by Ireland's Kevin O'Brien against England in 2011.
In a solid effort by Australia's batsmen, Watson struck 67 off 41 balls, Steve Smith hit 72 off 88 balls and skipper Michael Clarke chipped in with a run-a-ball 68.
The 1996 World Cup champions lost Lahiru Thirimanne for one in the second over, snapped up behind by Brad Haddin off Mitchell Johnson.
But the experienced pair of Tillakaratne Dilshan and Sangakkara set about taking on the challenge, with Dilshan defiantly smacking Johnson for six fours off one over.
Clarke dropped Dilshan on 46 in a running two-handed chance as the pair raced along with home fans clapping dot balls.
But Dilshan fell leg before to James Faulkner's slower ball for 62 off 60 balls after putting on 130 with Sangakkara.
Mahela Jayawardene threw away his wicket on 19 attempting a risky single only to caught short of his ground by Clarke's throw from mid-off.
Sri Lanka kept fighting until the end with Dinesh Chandimal cracking 52 off 24 balls before retiring hurt with hamstring trouble and skipper Angelo Mathews gloved Watson to Brad Haddin for 35.Faulkner finished with an impressive three for 48.
Scorecard: Australia vs Sri Lanka