Debutant Shreyas Iyer hit 65 runs to stablise India at tea on the fourth day of the first Test on Sunday after Kiwi bowlers ran through the hosts' top order.
India, at 167-7 in their second innings, now lead New Zealand by 216 runs on a tricky Kanpur wicket. Debutant Iyer, who scored a century in the first innings, struck a 64-run partnership with Wriddhiman Saha, unbeaten on 22.
Iyer was dismissed just before the break after he gloved a Tim Southee delivery to the wicketkeeper Tom Blundell after hitting eight fours and a six.
The hosts started the day in a commanding position with a 63-run lead at 14-1 — after Axar Patel's five-for wrapped up the Black Caps innings at 296 on Saturday.
But Kyle Jamieson and Southee turned the tables with key wickets to leave India reeling at 84-5 at lunch.
Jamieson triggered the Indian batting collapse with Cheteshwar Pujara's wicket in the inning's 12th over.
Captain Kane Williamson's review confirmed that a rising Jamieson delivery had touched the batter's gloves to wicketkeeper Blundell behind the stumps.
India then lost stand-in captain Ajinkya Rahane at 41 after he fell leg-before to left-arm spinner Ajaz Patel.
Southee returned for an inspired bowling spell and took two wickets in his maiden over.
The veteran pacer first removed opener Mayank Agarwal for 17 off 53 balls after he edged to Tom Latham at second slip.
One ball later, Southee took all-rounder Ravindra Jadeja leg-before for a duck to leave India 51-5. Iyer helped pull the hosts out of trouble after a 52-run partnership with Ravichandran Ashwin, who left the pitch after chopping a rising Jamieson delivery.
The hosts lost the wicket of opener Shubman Gill for one in the five overs bowled by New Zealand before the end of play on Saturday.
Southee and Jamieson have three wickets each in the second Indian innings.