Captain Angelo Mathews was on 15, while Lahiru Thirimanne was 11 not out as they sought to rebuild their team's innings after Boult tore the top off the order with a full length and swinging deliveries.

Boult trapped openers Dimuth Karunaratne (0) and Kaushal Silva (4) in front and then had Kumar Sangakkara caught by Tim Southee at third slip for six.

Karunaratne was Boult's 100th Test wicket. The left-armer went to lunch with figures of 3-11 off seven overs.

Sri Lanka's bowlers had earlier wrapped up New Zealand's tail inside the first 30 minutes of play on Saturday as, in stark contrast to the opening day, the ball dominated the bat.

New Zealand had resumed on 429 for seven with Mark Craig on five and Southee, who replaced BJ Watling after he had been dismissed in the final over of the first day.

Southee lasted just eight balls before Mathews had him caught at second slip by Thirimanne for a duck before Neil Wagner (4) was caught at point off Suranga Lakmal.

Boult was then caught behind by wicketkeeper Prasanna Jayawardene in the same over to end New Zealand's innings on 441. Craig was left 12 not out.

The first day had been dominated by New Zealand captain Brendon McCullum, who belted 18 fours and 11 sixes in his innings of 195 from 134 balls.

McCullum became the first New Zealand batsman to surpass 1,000 Test runs in a calendar year and broke his own national record for the fastest century, which came off 74 balls.

Latest News from Sports News Desk