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.
"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.