None of the Indian top-order were able to get a start in the face of a hostile barrage of short-bowling with Virat Kohli’s batting slump continuing.
The match remained very much in the balance, however, after the Black Caps ran through the Indian top order to reduce the tourists to 90 for six at stumps on an extraordinary day when 16 wickets fell.
Hanuma Vihari (five not out) and Rishabh Pant, who had scored a single off a thick edge, will resume on Monday looking to give their attack something to bowl at in New Zealand's second innings.
Already 1-0 down in the series after a thumping 10-wicket defeat in Wellington and under pressure after a final session batting collapse on day one, India needed something special to get back into the match.
Their bowlers provided it by firing for the first time on this tour, ripping through New Zealand's top order with seam and swing in the first session and mopping up the tail after some stiff resistance in the second.
Mohammed Shami took 4-81, Jasprit Bumrah finished with 3-62 and spin-bowling all-rounder Ravindra Jadeja pitched in with a couple of wickets and a most astonishing catch to winkle out Neil Wagner.
New Zealand, who resumed on 63 without loss looking to rack up a big lead over India's first-innings 242, lost their 10 wickets for the addition of just 172 runs.
Opener Tom Latham (52) managed to reach his 17th test half century as wickets tumbled around him, before leaving a Shami delivery that nipped in to rattle his leg stump.
Wagner hit 21 but Shami got him too when Jadeja, at deep square, leaped into the air and plucked a ball that looked destined for the boundary clean out of the sky.
"I was standing at deep square leg and I knew he was going to hit that ball but I didn't know it was going to come at double pace with the wind," Jadeja said.
"The ball was coming too quickly, I just put my hand there and it stuck. I didn't realise I'd made the catch."
Kyle Jamieson marshalled the rearguard action with a gritty 49 and he was the last wicket to fall as India took a slender first-innings lead of seven runs that looked highly unlikely when play started.
New Zealand's attack would have been licking their lips watching the movement the Indians were getting and they took full advantage of the conditions when they got their chance.
None of the Indian top-order were able to get a start in the face of a hostile barrage of short-bowling with Virat Kohli's batting slump continuing.
Trent Boult (3-11) and Tim Southee had already combined to remove openers Mayank Agarwal (3) and Prithvi Shaw (14) when Colin de Grandhomme trapped Kohli in front for 14, leaving the India captain with 38 runs from his four innings in the series.