Australia bowl out Sri Lanka for 258 after Asalanka ton
Stay tuned with 24 News HD Android App
The hosts slipped to 34-3 after being put into bat first, with fast bowlers Pat Cummins, Mitchell Marsh and spinner Matthew Kuhnemann each taking two wickets.
Glenn Maxwell struck first with his off-spin to get wicketkeeper-batsman Niroshan Dickwella stumped for one in the second over of the innings.
Cummins soon sent back Kusal Mendis for 14 and previous match hero Pathum Nissanka fell for 13 off Marsh.
But a 101-run partnership between the left-handed Asalanka (110) and Dhananjaya de Silva (60) brought their team back to a respectable total with a mix of caution and aggression.
Marsh broke the stand with the wicket of De Silva and skipper Dasun Shanaka got run out on four after a mid-pitch mix-up with Asalanka, who stood firm.
Left-arm spinner Kuhnemann took two wickets including a successful lbw review of Chamika Karunaratne after the 40th over to rattle the opposition lower-order.
Asalanka reached his century to the cheers of a raucous home crowd that jumped to their feet to applaud the knock.
Wanindu Hasaranga played a useful cameo of 21 not out as he put together 34 runs for the eighth wicket with Asalanka.
Asalanka finally fell to Cummins and Australia soon wrapped up the innings in 49 overs with two run outs.
The hosts lead the five-match series 2-1 and Australia, led by Aaron Finch, need 259 to keep the series alive.
N. Dickwella st Carey b Maxwell 1
P. Nissanka c Carey b Marsh 13
K. Mendis b Cummins 14
D. de Silva c Maxwell b Marsh 60
C. Asalanka c Finch b Cummins 110
D. Shanaka run out (Marsh/Carey) 4
D. Wellalage c Warner b Kuhnemann 19
C. Karunaratne lbw b Kuhnemann 7
W. Hasaranga not out 21
J. Vandersay run out (Cummins/Carey) 0
M. Theekshana run out (sub Swepson) 0
Extras (lb2, nb1, w6) 9
Total (all out, 49 overs) 258