Four wickets in the middle session gave India a slight advantage on the third day of the second Test against New Zealand in Bangalore.
The visitors went into tea at M. Chinnaswamy Stadium on 123 for four in their second innings, a lead of 135 with Daniel Flynn (25) and James Franklin (11) at the crease.
But the session belonged to the hosts, with Umesh Yadav (two for 34) striking crucial blows and Pragyan Ojha and R Ashwin also chipping in with a wicket apiece.
Having bowled India out for 353 in the morning session, New Zealand started the second session on 29 for no loss and Yadav struck in the first over after lunch with Martin Guptill (seven) edging a swinging full toss onto his stumps.
Yadav was on the money on his next over as well, getting Brendon McCullum (23) to edge a good length delivery to Mahendra Singh Dhoni behind the stumps.
Kane Williamson (13) and Ross Taylor (35) then added 38 runs and looked comfortable against pace and spin before Ashwin brought India back in the game.
Williamson played inside the line of a well-flighted delivery from the off-spinner with the edge flying to Virender Sehwag at first slip.
Taylor and Flynn also shared a fruitful partnership that threatened to take the game away from India as the pair attacked the spinners on a good batting wicket and scored 42 runs in just 10.3 overs. But the sweep was Taylor's downfall for the second time in the Test as he missed one off Ojha and was caught plumb in front.
Earlier, Tim Southee finished with career-best figures of seven for 64 in the morning session that saw India concede a 12-run first-innings lead to the visitors.
Virat Kohli made 103, MS Dhoni scored 62 and Ashwin added an unbeaten 32.