Sri Lanka battled to keep themselves in the first Test against New Zealand as they reached 293-5 in their second innings at the close of play on day three.
The Lions have pulled within just 10 runs of forcing the home side to bat again following their first-innings collapse.
The tourists began the evening session on 201-3 with Dimuth Karunaratne and skipper Angelo Mathews at the crease, with the opener unbeaten on 116.
The pair continued Sri Lanka's resistance as Mathews added pace to the innings by beginning to find the boundary and ease the pressure on his team.
Karunaratne and Mathews brought up their 50 partnership in 81 deliveries, while the skipper soon reached his half-century, which included seven boundaries, off 82 balls.
Karunaratne continued his vital knock as he passed the 150-run mark, but his resistance was brought to an end when he was bowled by Trent Boult.
Sri Lanka lost another wicket before the close of play as Niroshan Dickwella was caught cheaply off the bowling of Boult, but Mathews and Tharindu Kaushal guided the tourists to stumps in Christchurch.