Tim Southee took career-best figures of seven for 64 to help New Zealand to a slim first-innings advantage against India on day three of the second Test in Bangalore.
Southee reached stumps on Saturday with three scalps to his name and added four more on Sunday as India's last five wickets fell for the addition of just 70 runs to their overnight total.
The hosts were eventually out for 353, with Virat Kohli safely registering his second Test century after being left on 93 overnight. Kohli eventually fell for 103, lbw to Southee, who also went on to end the knock of the dangerous Mahendra Singh Dhoni for 62 in similar circumstances.
Southee also removed Zaheer Khan (seven) and Pragyan Ojha for a duck, while Trent Boult ended India's resistance when he bowled last man Umesh Yadav for four. R Ashwin was unbeaten on 32.
Having put up 365 for in their first innings, New Zealand reached 29 without loss at the start of their second innings to establish an overall lead off 41 runs at lunch.
Brendon McCullum was on 21 at the interval, with Martin Guptill on seven.