Mitchell Santner led a New Zealand spin blitz on a turning Pune pitch to leave India in serious trouble on 107-7 at lunch on day two of the second Test on Friday.
India, who lost the opening Test of the three-match series, trail the visitors by 152 runs after they resumed on 16-1.
Santner took four wickets with his left-arm spin, including Virat Kohli for one, and was ably supported by off-spinner Glenn Phillips with two more.
Ravindra Jadeja, on 11, and Washington Sundar, on two, were batting at the break with the hosts in danger of conceding a big lead in response to New Zealand's 259.
Overnight batsmen Yashasvi Jaiswal and Shubman Gill started cautiously before Santner struck in the 11th over of the day. He trapped Gill lbw for 30 with a slider to the right-hander.
The home fans were then stunned into silence when Santner took the prized wicket of Kohli, bowled on a low full toss.
Phillips struck on his fourth ball to get the left-handed Jaiswal caught at slip for 30 to leave the hosts on 70-4 and then 83-5 when he bowled Rishabh Pant for 18.
First-match centurion Sarfaraz Khan managed 11 before Santner got him caught at mid-on. Santner trapped Ravichandran Ashwin lbw for four.
Spinner Sundar returned to India's Test team with 7-59 on Thursday to bowl out New Zealand after gritty knocks from Devon Conway (76) and Rachin Ravindra (65).
New Zealand, led by Tom Latham, won the opening match for their first Test win in India since 1988 and are chasing their maiden series victory on Indian soil.