Ravichandran Ashwin stole the show with his 6-wicket feat, with Ravinder Jadeja providing another big contribution with his five-for in New Zealand's first innings.
Previously, Mitchell Santner (57) and Ish Sodhi (2) were at the crease at lunch with New Zealand still requiring another 235 runs with 3 wickets remaining.
India positioned themselves for a massive win in their 500th cricket Test by polishing off the New Zealand top-order after setting them a colossal 434-run target.
Helping India in the cause were unbeaten half-centuries from Rohit Sharma and Ravindra Jadeja.
New Zealand were tottering at 93 for four in their second innings with the exuberant Luke Ronchi (38) and the steady Mitchell Santner (8) at the crease when stumps were drawn on the fourth day.
The Black Caps require a history-defying effort to win the Test as no team has ever chased such a daunting target. They still need 341 runs and batting three sessions on a fifth-day wicket is not something visiting teams have achieved often in India.
Earlier, negotiating a spin-friendly track with aplomb, Rohit (68) and Jadeja (50) raised a 100-run stand in quick time after India lost four wickets, starting the day at 159 for one.
Left-arm spinner Mitchell Santner dismissed two batsmen while Ish Sodhi and Mark Craig claimed a wicket apiece but only to see the next Indian pair hammer them around the park as India declared their second innings at 377 for five at the stroke of tea.
Rohit and Jadeja never looked uncomfortable on the deteriorating fourth-day Green Park track, entertaining the Sunday crowd with some quality strokes, including three sixes by the left-hander.
However, when Indian spinners bowled, New Zealand batsmen were were all at sea on the pitch as off-spinner Ravichandran Ashwin removed both the openers Martin Guptill (0) and Tom Latham (2) in the space of five balls to cause ripples in the rival camp.
Guptill was first to go by handing an inside edge to forward short-leg fielder while left-handed Latham was caught in front of the wicket while defending.
Ashwin could have got Kane Williamson (25), when he was on 16, had Umesh Yadav held on to a tough chance at square leg boundary but the off-spinner did not have to wait for long to see the back of the New Zealand captain as he trapped him soon and completed a milestone of 200 Test wickets.
He is only the ninth Indian to get that figure but fastest among all, doing it in his 37th match. He bettered Harbhajan Singh's record, who took 46 matches.
Ashwin is the second fastest in the world behind Australian Clarrie Grimmett (36 matches).
A run out was the last thing that New Zealand needed but Ross Taylor blundered by not grounding his bat even when he had made the crease, attempting a couple of runs with Ronchi.