Left-arm spinner Axar Patel picked up five wickets to help India grab a handy 49-run first-innings lead on Day 3 of the first Test against New Zealand on Saturday.
India suffered a setback, however, with Shubman Gill's late dismissal as they finished day three on 14/1 at Kanpur's Green Park Stadium.
Kyle Jamieson bowled Gill for one and troubled Cheteshwar Pujara, who remained unbeaten on nine.
Opener Mayank Agarwal was on four not out with India 63 ahead in the first match of the two-Test series.
"This is the kind of pitch where you can't expect wickets all the time," Patel said after picking up 5/62, registering his fifth five-wicket haul in seven innings.
"You have to be consistent with your line and length. The odd ball turned and occasionally it kept low. I think the wicket will slow down further."
Earlier, after inducing several edges that fell agonisingly short of fielders, Ravichandran Ashwin ended India's 66-over wait for a first wicket by ending a 151-run opening stand between Tom Latham and Will Young.
Young, having made a career-best 89, edged Ashwin and substitute wicketkeeper KS Bharat - replacing Wriddhiman Saha who was being treated for a stiff neck - grabbed a low catch.
Young was initially ruled not out, but India reviewed that decision, which had to be overturned after replays confirmed the edge.
Replying to India's first-innings total of 345, New Zealand were cruising at 197-1 in the morning session with Latham approaching his hundred and skipper Kane Williamson in the middle.
Soon after India took the second new ball, however, seamer Umesh Yadav trapped Williamson lbw on the stroke of lunch.
Williamson, who made 18, reviewed the decision, but replays confirmed the ball would have hit the top of his middle stump.
Patel ran through the New Zealand middle order removing Ross Taylor and Henry Nicholls and denying Latham his century.
Latham made 95 before stepping out against Patel, only to be stumped after a fine knock that included 10 fours.
Ravindra Jadeja dismissed debutant Rachin Ravindra and Ashwin (3-82) claimed the last two wickets as New Zealand were bowled out for 296.