Kusal Mendis remained unbeaten on a match-high 86 to help Sri Lanka weather a wobbly morning and reach 116 for four at lunch on the third day of the bowler-dominated first Test against Australia on Thursday.
Mendis, however, looked unfazed and went on to score his highest Test score, also the first fifty in the low-scoring match, and remained not out after hitting 13 boundaries, including two in a David Warner over close to the lunch break.
Dinesh Chandimal was unbeaten on seven at the other end as the hosts erased the 86-run first innings deficit and led by 30 with six wickets in hand at the Pallekele International Cricket Stadium.
After collapsing for 117 on the opening day and conceding a handy first-innings lead, Sri Lanka could not afford a second batting collapse but the hosts received an early jolt after resuming on six for one on Thursday.
Australia fast bowler Mitchell Starc struck with the third delivery of the morning, trapping Dimuth Karunaratne leg before for the second time in the match.
Steve O'Keefe dismissed Kaushal Silva leg before and spin partner Nathan Lyon sent back home captain Angelo Mathews (nine) soon after switching to bowling round the wicket against the right-handed batsman.