In-form opener Upul Tharanga scored a century as Sri Lanka claimed a 78-run win in the third one-day international against Australia in Hambantota on Tuesday.
Tharanga's 111 of 139, his fourth one-day century of 2011, came in just his third match back from a three-month ban for failing a drugstest and kept the five-game series alive going into the final two matches in Colombo.
His knock, as well as valuable contributions by Tillakaratne Dilshan (55 off 59), Kumar Sangakkara (49 off 37) and Mahela Jayawardene (36 off 33), lifted the hosts to 9-286 off their 50 overs after Australia won the toss and chose to field.
Fiery quick Doug Bollinger led the way for the Australians with 4-42 off his 10 overs but it wasn't enough to stop the Sri Lankans cutting the tourists' series lead to 2-1 after they could only manage 208 in reply with Michael Hussey's 63 the highest score.
Lasith Malinga also showed he is back to his best after a back injury, ripping through Australia to claim 5-28 off 8.2 overs.
Mitchell Johnson (2-45) and Shane Watson (2-58) also chipped in with the ball but Australia's spinners were very expensive, with Xavier Doherty (0-41 off five overs), David Hussey (0-34 off five) and Steven Smith (0-15 off two) all receiving treatment from Sri Lanka's batsmen.
Australia's batting didn't get off to a great start with Malinga removing Shane Watson (5) before debutant Shaminda Eranga (2-38) clean-bowled struggling Brad Haddin (5) in his first over of one-day international cricket.
Ricky Ponting (22) showed some poise before Eranga deceived him with a clever slower ball and when Malinga removed captain Michael Clarke (46) the run chase was in trouble at 4-123.
Hussey attempted to save things with Steve Smith (18), but when the latter was run-out brilliantly by an instinctive Nuwan Kulasekara and the former followed a ball later caught at point off Malinga the writing was on the wall.
There was still time for Dinesh Chandimal to complete a spectacular one-handed catch to remove Johnson (1) to send the home fans into raptures.
The series now moves on to Colombo with game four to be played on Saturday.