Stuart Broad claimed the key wickets of Hamish Rutherford and Ross Taylor in the space of two balls, a kick in the guts for the hosts who now trail by an imposing 399.
England were 2-267 overnight and Jonathan Trott wasn’t able to add to his 121.
Kevin Pietersen made a valuable 73 while keeper Matt Prior was dynamic with 82 from 99 balls, backing up Nick Compton’s century on day one.
Spinner Bruce Martin was the pick of the Kiwi bowlers, with 4-130 from 48 overs. Kane Williamson wrapped up the tail to take 2-16.
James Anderson tied down Peter Fulton, who took 24 balls to score one run, before having him caught by Alastair Cook at first slip.
Rutherford survived a fierce new ball spell by Steve Finn and looked a chance to back up his early career form in his second Test.
But he was brought undone by Broad for 23, edging a drive to Cook.
Taylor was then knocked over first ball by a straight one.
New Zealand’s target is now to beat the follow-on mark of 266.
Image via Getty