Hamilton - Trent Boult led a late New Zealand fight-back to leave Sri Lanka on 264/7 when rain ended play early on day one of the second Test in Hamilton on Friday.
Three wickets in two overs after tea rocked Sri Lanka just as captain Angelo Mathews and Milinda Siriwardana were looking solid with a record fifth-wicket partnership.
When rain halted play 23 overs short of the day's scheduled 90, Mathews was unbeaten on 63 with Dushmantha Chameera yet to score.
Siriwardana, in only his fourth Test, was out for 62 after joining Mathews for Sri Lanka's record fifth-wicket partnership against New Zealand of 138, eclipsing the 133 set by Mahela Jayawardene and Hashan Tillakeratne in 2003.
On a day in which fortunes ebbed and flowed, the valuable Mathews-Siriwardana pairing began when Sri Lanka were heading for trouble at 121/4.
Siriwardana was caught at first slip by Ross Taylor off the bowling of Boult, who claimed his second wicket three balls later when Kithuruwan Vithanage was caught by a diving Brendon McCullum at mid-off without scoring.
Just before the rain came down, Rangana Herath was run out for four by a fine throw from Kane Williamson in the gully.
With three wickets after tea, New Zealand enjoyed their most productive session after winning the toss and making Sri Lanka bat on a green pitch expected to be a bowler's paradise.
They could only manage two wickets in each of the first two sessions as Sri Lankan fought to atone for their 122-run loss in the first Test in Dunedin.
In part the tourists were helped by New Zealand's inconsistency with line and length, but they also played an aggressive game.
Their innings has so far produced six sixes, double their entire first Test total, and three of them have been belted by Mathews including one to bring up his 23rd Test 50 by driving Mitchell Santner over the rope.
Siriwardana, who also hit three sixes, was particularly tough on the bowlers after tea when he smacked a rapid 36 before being caught by Taylor who started the day dropping Kusal Mendis before Sri Lanka had any runs on the board.
Sri Lanka had a couple of shaky early overs but by lunch were 108/2 after Tim Southee had removed Dimuth Karunaratne for 12 and the aggressive Mendis for 31 off 42 balls.
Both were caught behind by wicketkeeper BJ Watling who also featured in New Zealand's second two-wicket burst soon after lunch.
Udara Jayasundera was run out for 26 when he was sent back by Dinesh Chandimal but not quick enough to beat Mitchell Santner's throw to Watling, who whipped off the bails.
Three overs later, Chandimal on 47 was caught behind off Doug Bracewell.
Boult took two for 43 and Southee two for 51.