Virat Kohli struck an unbeaten 93 as India reached 283-5 at stumps on Saturday after quickly ending New Zealand's first innings for 365 in the second Test.
Captain Mahendra Singh Dhoni was the other undefeated batsman on 46 with India 82 runs behind at the end of the second day.
Kohli and Dhoni have so far added 104 runs, the highest sixth-wicket partnership by India in Tests at the M.Chinnaswamy Stadium.
Kohli also shared a 99-run stand for the fifth wicket with left-hander Suresh Raina (55) that rescued India from a precarious 80-4 after pace bowlers Tim Southee (3-35) and Doug Bracewell (2-66) did the early damage.
Kohli drove fluently during his fifth test half-century in 10 Tests and hit 12 fours and 1 six. He was content playing the supporting role when batting with Raina but took control as the game progressed, getting past 50 with a glanced four off Southee. It was his second consecutive half-century after 58 in the first Test, which India won by an innings and 115 runs.
Raina played at mixed pace for his seventh 50 in 17 Tests.
The left-hander produced a flurry of shots on the rise early in his innings but slowed down in the 40s. He was on 43 off 44 deliveries but took another 35 balls to get past 50, sending the ball to the third man off spinner Jeetan Patel.
Raina came close to dismissal on 48 when wicketkeeper Kruger van Wyk stumped him off Patel but the third umpire ruled him not out as it was a no-ball.
But Raina fell early in the last session, caught behind down the leg side, to give Southee his third wicket.
Sehwag and Sachin fall
Southee also accounted for opener Gautam Gambhir and Cheteshwar Pujara in the first session.
Gambhir (2) was bowled by a delivery that came in sharply to clip the top of his off stump. Pujara (9), who scored 159 in the first Test, went for a hook and was caught by Trent Boult at deep fine leg.
Bracewell then dismissed Virender Sehwag, who was looking dangerous, and a sedate Sachin Tendulkar in successive overs.
Sehwag was caught by Daniel Flynn at mid-wicket after scoring 43 off 60 balls with eight fours while Tendulkar was bowled through bat and pad with 17 off 50 balls with three fours.
Earlier, left-arm spinner Pragyan Ojha completed a five-wicket haul as New Zealand was bowled out in only 8.4 overs of the morning session, after resuming at 328-6.
Ojha dismissed Southee lbw to complete figures of 5-99, his third five-for in 16 Tests, after pace bowlers Zaheer Khan and Umesh Yadav had struck important blows.
Khan dismissed danger man Kruger van Wyk for 71 while Yadav got Patel without scoring, as New Zealand failed to build substantially on its overnight 328-6.
Van Wyk added 99 for the seventh wicket with overnight partner Bracewell, who scored 43, his highest in 11 Tests.