BRISBANE: Lanka found prodigious swing Friday to shoot out Australia for 74 runs, their lowest one-day international total in 27 years, and take a 2-1 lead in the series.
The tourists also swung their bats at everything Australia threw at them, missing frequently and losing six wickets before struggling to 75, in a bizarre match that ended with thirty overs to spare.
Mitchell Johnson led Australia's riposte with three wickets for 11 runs off just three overs.
Sri Lankan captain Mahela Jayawardene scored just one, caught brilliantly by David Warner at backward point off Clint McKay in the first over.
Lahiru Thirimanne, who made a maiden century in Adelaide on Sunday, was out for seven from a Johnson delivery that Warner snatched out of the air.
Angelo Mathews went first ball caught Mitchell Starc again off Johnson. Upal Tharanga battled to 12 before Starc had him caught by Michael Clarke and Jeevan Mendis soon top edged the same bowler to McKay for two.
It was replacement wicket-keeper Kushal Perera, showing great poise and power with the ball zipping around, who found the boundaries after tea to ensure victory.
The youngster was not out 22, the same total as Dilshan who rode his luck before edging Johnson to Clarke in the slips with the score on 33.
Man-of-the match Nuwan Kulasekara did the damage for Sri Lanka taking five wickets for 22 and Lasith Malinga picked up three for 14.
Skipper Clarke won the toss and decided to bat on what he called "a really good wicket".
However his team fell to a prolonged inswing onslaught in the third match of a series of five.
Australia's lowest ODI score of 70 came against England in 1977 at Edgbaston, with the embarrassing scoreline repeated against New Zealand in 1986 at Adelaide.
At one stage, Australia were 40-9, but ninth man Starc helped them avoid the ignominy of a new record-low with a knock of 22, when it had looked like no one would get into double figures.
The next match is at the Sydney Cricket Ground on Sunday and the final game in Hobart on Wednesday. (AFP)