Trent Boult and Tim Southee inflicted damage to Sri Lanka's batting order before the second day of the second Test against New Zealand was called off due to rain.

After resuming on 85-2, Sri Lanka were ticking along nicely when captain Dimuth Karunaratne (65) brought up his fifty.

But New Zealand's seamers soon came into play – Boult (2-33) claiming his 250th Test wicket as Angelo Mathews edged a pull through to wicketkeeper BJ Watling.

Boult moved on to 251 four balls later, with Kusal Perera misreading a delivery that nipped straight back into his pads, departing without scoring to leave Sri Lanka 93-4.

Karunaratne steadied the ship, while Dhananjaya de Silva (31 not out) had a lucky escape when Boult's day took a turn for the worse.

The Black Caps bowler waved away other fielders after De Silva looped an edge high into the air, only for Boult to drop what should have been a simple catch.

Sri Lanka's captain was the next to go, however, as Southee (2-40) drew Karunaratne into a sloppy drive and Watling pouched the edge.

Not to be outdone by Boult, Southee bettered his team-mate's earlier feat, Niroshan Dickwella giving Watling another catch three balls later.

Dilruwan Perera and De Silva managed to hold firm until lunch, with the rains that plagued day one returning during the break, ending play for the day with Sri Lanka on 144-6.