(CNN) -- Daniel Vettori and Chris Martin claimed four wickets apiece for New Zealand, but Thilan Samaraweera struck a superbly-composed 159 to leave Sri Lanka in the driving seat on day two of the first Test in Galle.
Samaraweera struck a superb 159 to give Sri Lanka the upper hand against New Zealand.
Samaraweera held Sri Lanka's middle-order together, putting on 86 for the fifth wicket with Angelo Mathews (39) after his partnership with Mahela Jayawardene was ended by Iain O'Brien in the morning.
But Vettori triggered a collapse with four quick strikes in the post-lunch session, and Martin added two tail-end wickets to the two he had picked up early on the first day, as Sri Lanka were bowled out for 452.
Openers Martin Guptill (24) and Tim McIntosh then gave the Black Caps a solid start by putting on 45 for the opening wicket, but Sri Lanka hit back by picking up the wickets of Guptill and his replacement Daniel Flynn (14).
New Zealand reached 87 for two at stumps, still trailing by 365. McIntosh is not out on 36 with nightwatchman Jeetan Patel on six.