Half-centuries from skipper Mahela Jayawardene and Tillakaratne Dilshan steered Sri Lanka to 221 after winning the toss in their dead rubber tri series one-dayer against Australia in Melbourne Friday.
The Sri Lankans set the Australians a testing run chase of 4.44 runs per over after an indifferent series with the bat when Jayawardene cracked 50 off 66 balls and Dilshan 62 from 70 balls after they had slumped to 42 for three with the loss of star batsman Kumar Sangakkara for 11.
Australia left senior opening batsman Matthew Hayden out of the team, with skipper Ricky Ponting saying he was rested after the tumult over his controversial "obnoxious weed" comment about Indian spinner Harbhajan Singh, which earned him an official reprimand this week from Cricket Australia.
Left-arm paceman Nathan Bracken finished with 4-29 off 10 overs and Brett Lee claimed two wickets.
Ponting's Aussies are looking to gain some momentum from their final round-robin match to take into Sunday's opening final against India in Sydney.
Dilshan batted conservatively taking easy singles on offer and striking only three boundaries in his 62.
He had late support from Chamara Silva, whose 35 was his highest score in a low-key tournament.
Silva and Dilshan added 60 for the sixth wicket after Dilshan and Jayawardene had combined for 64 for the fifth wicket.
Jayawardene's 50 featured a couple of cracking cover-drives to the boundary but he fell to leg-spinner Brad Hogg leg before wicket trying to flick through the leg-side.
Hogg, like his West Australian teammate Adam Gilchrist, is playing in his farewell match at the MCG after announcing his retirement from first-class cricket this week.
James Hopes, who will open Australia's innings in Hayden's absence, had a fine match in the field, taking Chamara Kapugedera's wicket for two, featuring in the slick run out of Dilshan off his own bowling and taking a skied catch to dismiss Lasith Malinga off Lee's bowling.