Thilan Samaraweera's half century was part of a defiant Sri Lanka fightback on the third day of the second Test with New Zealand in Colombo.
After the hosts started the day teetering on the brink on 43-3, Angelo Mathews and Tharanga Paranavitana put on 90 runs before Samaraweera hit an unbeaten 76 to build on that promising comeback.
Sri Lanka went on to make 225-6 when bad light stopped play early, still 187 runs behind New Zealand's 412 but still in a lot better shape than when they stood on 12-3 on day two.
Mathews and Paranavitana resumed in strong fashion despite the 43-3 on the scoreboard, with Paranavitana hitting three fours on his way to 40 before edging a Tim Southee delivery to Kruger van Wyk behind the stumps
Mathews followed his team-mate just two overs later after an entertaining 47, Southee snaring his fourth victim with a teasing delivery which was steered to Martin Guptill at second slip.
Prasanna Jayawardene and Samaraweera saw the home side through to lunch on 107-5, but the former could only see out a few overs of the afternoon session before he fell on 12 to Jeetan Patel, Kane Williamson taking the catch at square leg.
Samaraweera kept his head, though, and with the help of Suraj Randiv, the pair soon became a source of frustration for New Zealand's bowlers.
Samaraweera was two short of his fifty by tea and knocked off the runs needed in the first over after the interval, passing the mark off 114 balls with three fours.
Randiv had to be more patient in his search for runs but still managed two boundaries as Sri Lanka threatened a more respectable total than had seemed possible at one stage.
Samaraweera had taken his score to 76 at stumps with Randiv unbeaten on 34, and hopes will rest on the pair again on Wednesday as Sri Lanka look to rescue a result.