Seamers Trent Boult and Tim Southee led a New Zealand recovery after Adam Lyth scored his maiden Test century and Alastair Cook became England's all-time leading Test run-scorer on day two of the second test in Leeds.
England were cruising on the second day of the second Test while left-handed openers Lyth (107) and skipper Cook (75) were sharing a first-wicket stand of 177.
But the departure of Lyth, run out shortly before the new ball, sparked a slump.
The hosts lost five wickets in the final session, including three in the final eight overs to be 253 for 5 at stumps, trailing New Zealand by 97 runs.
Left-armer Boult used the new ball to take two wickets for 10 runs in four overs and Southee one for seven, also in four overs.
Lyth is Cook's sixth opening partner since the retirement of former captain Andrew Strauss and went some way to making the berth his own ahead of the Ashes series starting in July.
He shared England's first century opening stand in a home Test since Cook and Strauss added 186 against India at Edgbaston on 2011.
Lyth had managed just seven and 12 on debut during England's 124-run win in the first of this two-Test series at Lord's.
His century took 188 balls and included 14 fours.
Cook overtook the previous England record of 8,900 Test runs set by his mentor Graham Gooch when he square-drove Southee for four and reached the score of 32.
The economical Craig removed Cook, although it needed a New Zealand review to have the skipper lbw after he missed an intended sweep.
Cook batted for nearly four hours and faced 187 balls including a dozen boundaries.
He walked off having moved up to 12th place in the all-time list of leading Test run-scorers with 8,944 runs in 114 matches and 203 innings, at an average of 46.82, with 27 hundreds and 41 fifties.
Then a mix-up between the Yorkshire pair of Lyth and Gary Ballance had Lyth dismissed when debutant wicket-keeper Luke Ronchi gathered Boult's low throw from point.
Ballance (29) was then bowled by a full length delivery from Boult and then Southee had another Yorkshireman in Joe Root (one) well caught by Ronchi off a superb outswinger that moved away late.
Ben Stokes had been England's hero at Lord's with innings of 92 and 101.
But he had made just six on to leave England 247 for 5.
Earlier, New Zealand resumed on 297 for 8 and thrashed 53 runs in just 7.1 overs before they were all out.
Stuart Broad took the last two wickets, finishing with five for 109 in 17.1 overs.