England were bowled out for 293 in their second innings early on Sunday morning, setting the Black Caps an unlikely 438 for victory.
New Zealand had promising partnerships between Matthew Bell (29) and Stephen Fleming (31), and Mathew Sinclair (39) and Ross Taylor (55) but no batsman went on to triple figures.
Jacob Oram was out in the final over before the close, the first over of the second new ball, when he slashed at a Ryan Sidebottom delivery and was caught by Kevin Pietersen for 30.
"We are delighted to be in the position we are in, needing just four wickets to win the Test match on the final day," Stuart Broad, England fast bowler, told reporters.
"We are delighted to be in the position we are in... "
England fast bowler
"With this new ball it's very important we strike early and it would be lovely to get a win in my second Test match."
Broad took two wickets in one over to end Bell and Fleming's 51-run partnership before tea, while Sinclair played a lazy shot to James Anderson after the last break to be caught by Ian Bell at cover, ending his 81-run partnership with Taylor.
Taylor, who scored his maiden Test century in the first match of the series, scored his second half century of the match, before he was trapped in front by Sidebottom.
"I got a start and got through the hard period early on to get to 50 a second time and not going on was disappointing," Taylor said.
The naturally aggressive Oram and McCullum then put on a 69-run partnership, which was interrupted by bad light at the Basin Reserve.
England were let down by some sloppy fielding, allowing several balls to reach the boundary after misfields, while Tim Ambrose, Paul Collingwood, Alastair Cook, Pietersen and Bell all dropped catches and Ambrose missed a stumping on Oram.
New Zealand were also gifted four runs after substitute fielder Graeme Swann's lobbed return, when the batsmen were not attempting a run, sailed over Ambrose's head and to the boundary.
Swann was temporarily on the field for England captain Michael Vaughan, who was receiving treatment on a strained left hamstring.
The highest successful run chase at the Basin Reserve was 277-3 achieved by Pakistan in 2003 while the highest fourth-innings total was 286 by New Zealand against Sri Lanka in 2006.
New Zealand won the first test in Hamilton by 189 runs. The final match begins in Napier on March 22.