Trent Boult followed up his counter-attacking cameo innings of 38 to take three wickets, including that of Virat Kohli, to put New Zealand on top against India at the end of the third day of the first test on Sunday.
The visitors, who had not lost any of their seven previous International Cricket Council World Test Championship matches, were 144-4 at the close of play at the Basin Reserve, still 39 runs behind and staring at their potential first defeat.
India's hopes on Monday will rest with vice-captain Ajinkya Rahane, who was on 25, and Hanuma Vihari (15), with Rishabh Pant and Ravichandran Ashwin the only remaining players likely capable of building a total they can defend.
Mayank Agarwal had looked settled in making 58 before he was caught by wicketkeeper BJ Watling off Tim Southee in the final session.
In the middle session, Boult had dismissed Prithvi Shaw (14) and Cheteshwar Pujara, whom he bowled on the final delivery for tea before he had Kohli caught by Watling for 19 after the break.
The hosts had established a183-run first-innings lead after they were dismissed for 348 before lunch with Colin de Grandhomme, debutant Kyle Jamieson and Boult counter-attacking to bolster their advantage.
They had held a slim 51-run lead when play began and when Jasprit Bumrah and Ishant Sharma grabbed two early wickets, the hosts looked unlikely to extend it beyond 100.
De Grandhomme and Jamieson, however, then put on 71 runs before the tall pace bowler, who hit four sixes, was caught by Vihari from Ashwin before de Grandhomme was caught by Pant from the off-spinner.
Boult then shared in a 38-run, 10th-wicket stand with Ajaz Patel, who held up the other end as the pace bowler scored all of the runs in their partnership.
New Zealand's innings ended when Boult was caught by Pant and became Ishant's fifth wicket.
Ishant, who had been under an injury cloud with a torn ankle ligament before the series, finished with 5-68.