Having closed on Friday with a lead of 373 and India four down, the hosts proceeded to skittle their visitors for 202 as their pace attack fired at Eden Park.
But rather than make India bat again and reach the 301 they needed to send New Zealand out once more, captain Brendon McCullum chose to ignore the follow-on option.
The move had serious consequences as India got their own back and whipped the Kiwis out for 105 before closing a dramatic day on 87 for one as they set off in pursuit of 407 to win. It would be the third-highest run chase of all-time and India's best if they pull it off.
It remains New Zealand's game to lose but this is not a position they should really be in after a brilliant display of bowling on Saturday morning.
Ajinkya Rahane was the first Indian batsman to fall on the middle day, going to Tim Southee for 26, with Rohit Sharma then cleaned up by Trent Boult for 72.
When Mahendra Singh Dhoni nicked Neil Wagner behind for 10 the writing was on the wall and despite an unbeaten 30 from Ravindra Jadega, India barely scraped past 200.
Watling ended with four for 64 with the other scalps going to Boult and Southee (both three for 38).
That sent New Zealand out for 45 minutes before lunch and the chaos continues. Hamish Rutherford was plumb leg-before to Mohammed Shami in the first over, with Peter Fulton going to the same man in the third. When Kane Williamson also perished, the Black Caps were 11 for three.
McCullum than had an even more uncomfortable lunch break as he went before the bails were flicked as he set off on a needless second run and saw the stumps thrown down.
Corey Anderson went to Shami after the break before Ross Taylor and BJ Watling managed to string 38 runs together before Zaheer Khan snared the former and the incoming Southee went for 14.
The tail barely wagged after that, with Taylor's 41 the outstanding score on a dismal card. Shami (three for 37) and Ishant Sharma (three for 28) did most of the damage.
With 16 wickets having fallen all eyes were on the Indian response but somehow they managed to leave the field with nine wickets intact.
Murali Vijay was the man to go for 13, with Shikhar Dhawan (49 not out) and Cheteshwar Pujara (22no) giving the tourists a sense of a chance.