Fast bowler Mike Kasprowicz grabbed career best figures for Australia in a 40-run defeat of Sri Lanka to hand the world champions an unassailable 3-1 lead in the series.
Kasprowicz snapped up five for 45 from nine overs as Sri Lanka, set a 234 run target, lost their last eight wickets for just 50 runs and were bowled out for 193 in the fourth one-day international.
Adam Gilchrist took six catches in the innings for the third time in his career, equalling the world record he shares with West Indian Ridley Jacobs and Alec Stewart.
Kumar Sangakkara had threatened a Sri Lanka victory with a scintillating run-a-ball 101, his third one-day hundred.
But the hosts, cruising on 143 for two with 18 overs remaining, collapsed in dramatic style after Jason Gillespie broke a 65-run stand for the third wicket.
Earlier, Ricky Ponting (67) and Andrew Symonds (53) had top scored for Australia, rescuing the tourists after they had slipped to 62 for three after opting to bat first.
Sri Lanka spinners Muttiah Muralitharan and Upul Chandana sparked a late-innings collapse taking three wickets apiece as Australia slumped from 201 for five to 206 for nine.
Michael Clarke and Gillespie averted a total collapse, putting on 27 runs for the last wicket on a difficult pitch.
Sri Lanka made a disastrous start to their run chase, losing Sanath Jayasuriya in the second over as the left-hander edged a rising delivery behind.
But after initially consolidating, Sangakkara cut loose with a flurry of boundaries, racing to his 11th one-day fifty from just 45 balls.
Wrist-spinner Brad Hogg broke through as Marvan Atapattu miscued a lofted drive and was caught at long on.
Sangakkara continued to attack during a 65-run stand in 92 balls for the third wicket with Mahela Jayawardene.
But the recall of fast bowler Gillespie into the attack triggered the middle order slide.
Jayawardene (25) was caught at the wicket as he opened the face of his bat and Sangakkara, moments after reaching his third hundred, was also caught behind.
Debutant Saman Jayantha lasted just four balls and Tillakaratne Dilshan was run out after calling for a suicidal single.
Chandana and Kausal Lokuarachchi rallied briefly, adding 31 in 38, before Kasprowicz cleaned up the tail.