Christchurch: Dimuth Karunaratne posted his maiden Test century Sunday as Sri Lanka fought to push the first Test against New Zealand into a fourth day at Christchurch`s Hagley Oval.
At tea on the third day they were 201-3 still 102 runs short of making New Zealand bat gain.
The left-handed Karunaratne was 116 not out with Angelo Mathews on 12.
After starting the day at 84 without loss Sri Lanka lost Kaushal Silva and Kumar Sangakkara early to be 94-2.
It was a start to the day that gave New Zealand heart before Karunaratne and Lahiru Thirimanne produced an 87-run stand for the third wicket.
Thirimanne was given out on 13 only for the lbw dismissal to be overturned on appeal, but he made just 12 more runs before giving wicketkeeper BJ Watling his third catch of the innings off the bowling of James Neesham.
Since Sri Lanka collapsed to 138 all out in their first innings, 303 behind New Zealand`s 441, a defiant Karunaratne has negotiated his way through all three sessions as they followed on in their second innings.
He curbed his natural attacking instincts to accumulate runs patiently, taking 255 balls to reach his century, edging the first delivery with the second new ball past gully for two to bring up the landmark.
His previous best from 26 innings was 85, against Australia in Sydney last year in his fourth Test.
New Zealand had hopes of finishing off the Test on the third day when Silva was dismissed in the first over of the day, caught behind without adding to his overnight 33.
Kumar Sangakkara quickly followed for one, removed for the second time in the match by Boult.
It was a disappointing outcome for Sangakkara, the most prolific batsman in the world this year with 1,493 runs from 22 innings, including a 50 in each of his past nine Tests.
He could only manage seven from his two innings against New Zealand and remains six runs short of becoming the fifth member of the exclusive group of Test cricketers to score more than 12,000 runs.