Ross Taylor's fluent 66 lifted New Zealand to 153 for four in reply to England's 232 on a fluctuating second day of the first test at Lord's on Friday.
England slumped to 201 for eight in the morning before James Anderson claimed his 300th test wicket to reduce New Zealand to seven for two.
Taylor came to the visitors' rescue to become the first batsman to reach fifty in the match.
Anderson returned to dismiss Taylor but Kane Williamson, badly dropped on 23 by wicketkeeper Matt Prior off Anderson, and Dean Brownlie continued the New Zealand revival with a partnership of 47.
While Brownlie was lbw to Steven Finn for 23, Williamson was still undefeated on 44 when bad light ended the day's play with captain Brendon McCullum on one.
"It's in the balance but I'd say they just have the edge," Anderson told reporters. "We didn't build on yesterday as well as we would have wanted to.
"We started well with the ball but let it slip. They counter-attacked very well and we have a lot of hard work to do to keep us in the game."
England, resuming on 160 for four after a desperate struggle for runs on the opening day, survived the first hour and the second new ball with relative ease as Joe Root and Jonny Bairstow dug in.
But Root's dismissal for 40 prompted a spectacular collapse, with four wickets going down in the space of 17 balls.
Root's watchful vigil ended when he edged a leg-side ball from Tim Southee through to wicketkeeper BJ Watling.
Prior, whose battling century secured a series draw for England on the final day of the recent third test against New Zealand in Auckland, was deceived by Southee's line and trapped lbw first ball.
Although Stuart Broad survived the hat-trick delivery, he fell lbw to a full-length delivery in Neil Wagner's next over.
Graeme Swann drove loosely at Wagner to give Watling an easy catch, leaving England, the world's second-ranked team, in deep trouble against a side six places below them in the rankings.
Bairstow and Finn took England to 209 for eight at lunch but Finn was lbw to Southee for four and Bairstow, who top-scored with 41, was caught and bowled by Southee who completed impressive figures of four for 58.
New Zealand lost opener Hamish Rutherford in the first over, caught by Alastair Cook at first slip off Anderson, and the right-arm fast bowler became the fourth Englishman to take 300 test wickets when Peter Fulton was well held by Swann at second slip.
New Zealand were reeling at seven for two but Williamson and Taylor survived a testing examination from the England pace attack.
Taylor looked to play shots whenever possible and Williamson adopted a more defensive approach as the New Zealanders took tea at 54 for two.
Taylor continued to bat positively and he chopped Anderson away for two to reach fifty off only 49 balls.
The powerful right-hander brought up New Zealand's century but Anderson returned to the attack and trapped him lbw with another fine delivery, ending a partnership of 93 with Williamson which was by far the highest of the match.
Taylor struck 13 fours in his 72-ball knock, showing for the first time in the game that it was possible to score runs quickly on a slow pitch.
"I didn't intend to counter-attack, I just wanted to be positive and play as straight as possible," Taylor told reporters.
"It's still evenly poised, maybe marginally in our favour.
"Kane's batting well and Brendon's been in test form so hopefully we can negate their attack, blunt them as much as possible and then actually build a lead."
Williamson should have become Anderson's fourth victim but Prior's miserable day continued when he failed to take the ball in his right glove.
Swann extracted some spin from the bowler's footmarks and beat both batsmen but they continued to keep the scoreboard ticking.
Finn made the breakthrough with the total on 147, deceiving Brownlie with a full-length delivery that jagged back into the right-hander and winning the decision after England called for a review.
England (1st innings):
A.Cook c Watling b Boult 32
N.Compton c Southee b Martin 16
J.Trott c Brownlie b Boult 39
I.Bell c Watling b Wagner 31
J.Root c Watling b Southee 40
J.Bairstow c& b Southee 41
M.Prior lbw b Southee 0
S.Broad lbw b Wagner 0
G.Swann c Watling b Wagner 5
S.Finn lbw b Southee 4
J.Anderson not out 7
Extras: (b-1, lb-9, w-2, nb-5) 17
Total: (all out, 112.2 overs) 232
Fall of wickets: 1-56, 2-67, 3-112, 4-157, 5-192, 6-192, 7-195, 8-201, 9-221.
Bowling: Boult 27-10-48-2 (2nb), Southee 28.2-8-58-4, Wagner 28-8-70-3 (2nb 2w), Martin 26-12-38-1 (1nb), Williamson 3-1-8-0.
New Zealand (1st innings):
P.Fulton c Swann b Anderson 2
H.Rutherford c Cook b Anderson 4
K.Williamson not out 44
R.Taylor lbw b Anderson 66
D.Brownlie lbw b Finn 23
B.McCullum not out 1
Extras: (2nb, 4b, 7lb) 13
Total: (for four wickets, 49.4 overs) 153
Fall of wickets: 1-4, 2-7, 3-100, 4-147
To bat: BJ Watling, T.Southee, B.Martin, N.Wagner, T.Boult.
Bowling: Anderson 15-7-42-3, Broad 15-3-48-0 (1nb), Finn 11-2-42-1 (1nb), Swann 8-0-19-0, Trott 0.4-0-1-0.
Image: Ross Taylor
Photograph: Clive Rose/Getty Images