Colombo: New Zealand suffered early setbacks after Thilan Samaraweera scored a second successive century to surpass 1,000 runs this year during the second Test on Thursday.
The tourists, replying to Sri Lanka's first innings score of 416, lost five wickets as they struggled to 159/5 at stumps on second day of the 2nd Test at the Sinhalese sports club.
Tim McIntosh was given out leg-before to fast bowler Dammika Prasad for five and Daniel Flynn was caught behind off left-arm seamer Thilan Thushara for 13.
Ross Taylor was on 70 with the tourists needing 58 more to avoid a follow-on with only five wickets in hand.
Samaraweera, who made 159 in the first Test at Galle which Sri Lanka won by 202 runs, hit 143 on way to becoming the second batsman after England captain Andrew Strauss to complete 1,000 runs this year.
The right-hander has so far scored 1,058 runs in eight Tests in 2009 with two double centuries among his four three-figure knocks. Strauss, in comparison, has 1,071 runs from 12 matches.
Samaraweera hit 17 boundaries and celebrated his 11th Test century in 54 matches by smashing the next ball from seamer Iain O'Brien over the square-leg boundary for six.
His batted for six hours and 22 minutes to anchor Sri Lanka's innings before he was ninth out, caught behind by wicket-keeper Brendon McCullum while trying to reverse sweep off-spinner Jeetan Patel.
Sri Lanka, who were comfortably placed at 367-4 before lunch, lost their last six wickets for 49 runs in a dramatic collapse in the afternoon session.
Patel finished with 4-78, including the wickets of Prasad and Rangana Herath off successive deliveries, while skipper Daniel Vettori took 3-104 in 40.3 overs of left-arm spin.
Samaraweera, who turns 33 next month, has endured an extraordinary year in which he hit two successive double-centuries against Pakistan before being laid low by gun shots during a militant attack.
He was hospitalised for two weeks after he suffered a bullet injury in the left thigh when gunmen opened fire on the Sri Lankan team bus in the Pakistani city of Lahore on March 3.
Samaraweera proved the main stumbling block for New Zealand after Sri Lanka resumed at their overnight score of 262/3.
Former captain Mahela Jayawardene missed a second successive ton against the Kiwis when he edged a ball from O'Brien to McCullum after making 92.
Jayawardene, who hit 114 in the first Test, put on 180 runs for the fourth wicket with Samaraweera after Sri Lanka were struggling at 115-3 before tea on the first day.
Chamara Kapugedera made 35 during a fifth-wicket stand of 72 with Samaraweera before he holed out in the deep off Patel to trigger a Sri Lankan collapse.
Brief Score:
Sri Lanka: 416 (Samaraweera 143, Mahela Jayawardene 92, Sangakkara 50, Patel 4-78)
New Zealand: 159 for 5 (Taylor 70*, McCullum 5*, Thushara 2-37)
Status: NZ trail by 257 runs