Colombo — Pathum Nissanka scored a brilliant maiden ODI century on Sunday as Sri Lanka stunned Australia to go 2-1 up in the third one-day international.
Set a tricky 292 to win after a Travis Head 70, the hosts won comfortably with nine balls to spare in Colombo, in their second straight victory in the five-match series.
Glenn Maxwell bowled Niroshan Dickwella for 25 but helped by the dew, Nissanka and Kusal Mendis ground down the injury-depleted Australian attack of Josh Hazlewood, Jhye Richardson and Matthew Kuhnemann.
Mendis retired hurt unbeaten on 87 off 85 balls and was replaced by Dhananjaya de Silva who made 25, but Nissanka clung on until almost the end, caught off Richardson for 137 off 147.
Richardson then skittled captain Dasun Shanaka for a duck, but Charith Asalanka -- with an ice-cold six in the penultimate over off Hazlewood -- and Chamika Karunaratne saw Sri Lanka home.
Proteas’ T20 team ‘still a work in progress’, says Keshav Maharaj after series decider abandoned
Four players who impressed for the Proteas Women in Ireland
England hit world record 498-4 to crush Netherlands
Brilliant Bairstow fires England to series victory over New Zealand
‘The batting unit is in a good place at the moment,’ says Proteas captain Temba Bavuma
Shabnim Ismail still has more to give to the Proteas
"In the dressing room we talked about tempo and awareness and they delivered," Shanaka said. "It is a great chance for this team to pull out a series win."
"The heat and humidity was a challenge for both teams. But we handled it to our advantage," said 24-year-old Nissanka.
"The wicket seemed to get a little bit better, it wasn't stopping as much in the surface. But all credit to Sri Lanka, that was a great run chase," Australian captain Aaron Finch said.
"It was quite clinical, particularly Nissanka. That was a very classy innings. And Kusal (Mendis), we know the quality of player he is," Finch said.
Earlier Australia braved a spin onslaught to reach 291-6 in their 50 overs after winning the toss and opting to bat first.
Opener David Warner went for nine in the third over and Mitchell Marsh, back from injury, struggled to get going and departed for 10 off 23 deliveries.
Marnus Labuschagne and Finch added 69 before Labuschagne was stumped off Jeffrey Vandersay for 29 and Finch edged the same bowler to slip two overs later having made 62 off 85.
Head and Alex Carey added 72 before de Silva trapped Carey leg-before. Maxwell hit 33 off 18 but became Vandersay's third scalp, miscuing the spinner to Dunith Wellalage scurrying back from midwicket.
But Head stayed firm, reaching his half-century and punishing Wellalage with three sixes in the penultimate over and ending 70 not out off 65 deliveries.
Vandersay ended with figures of 3 for 49.
Already missing Marcus Stoinis, Kane Richardson and Mitchell Starc, Australia left out Steve Smith after the batsman injured his left quad batting in Thursday's 26-run defeat in Pallekele.
Cameron Green and Richardson returned from injury, while Test skipper Pat Cummins and Mitchell Swepson were left out. Spinner Kuhnemann was again in for the injured Ashton Agar.
The hosts were once again without key all-rounder Wanindu Hasaranga, who injured his groin in the first match while Dickwella replaced Danushka Gunathilaka.
AFP