Ravichandran Ashwin ripped through New Zealand's top order and achieved a notable milestone in the process as India charged towards victory in the first Test against New Zealand.
The tourists ended day four in Kanpur in a perilous position on 93-4, still 341 runs in arrears having been set a target of 434 when India declared at 377-5.
Ashwin was responsible for the first three wickets in the Black Caps' second innings, the off-spinner claiming his 200th Test scalp with the key dismissal of Kane Williamson for 25. Only Clarrie Grimmett of Australia has reached the landmark in fewer Tests than Ashwin, who is making his 37th five-day appearance.
Ross Taylor also departed, courtesy of a needless run-out, and New Zealand appear to face a huge battle to save the game on a wearing pitch providing plentiful assistance to India's spinners.
Earlier on Sunday, India added 218 runs to their overnight total of 159-1, with the visiting slow bowlers initially able to keep the scoring rate in check.
Murali Vijay and Cheteshwar Pujara resumed unbeaten on 64 and 50 respectively, but neither man was able to press on to three figures.
Vijay fell for 76, lbw to a slider from Mitchell Santner, while Pujara made 78 before edging Ish Sodhi to Taylor at slip.
Between those wickets, Virat Kohli was ousted for just 18, India's captain top-edging a sweep off Mark Craig to deep midwicket.
Ajinkya Rahane was superbly caught by a diving Taylor off Santner after lunch, having been dropped twice on his way to 40. However, India were hurried towards a declaration as Rohit Sharma (68) and Ravindra Jadeja (50) upped the scoring rate, the latter striking three sixes.
Kohli called his side in when Jadeja brought up his half-century and the 100 partnership for the sixth wicket.
New Zealand then slumped to 3-2 in reply as Ashwin immediately posed a major threat.
Martin Guptill was unlucky to be caught at silly point for a duck after slog-sweeping a delivery into his boot, but Tom Latham (2) could have few complaints about being trapped in front by Ashwin.
Williamson then became a second lbw victim - taking Ashwin to 200 wickets - and Taylor, who looked all at sea against the spinners, paid the price for some terrible running when he failed to ground his bat coming back for a second at the non-striker's end and was run out for 17 by Umesh Yadav's direct hit from the deep.
That left New Zealand 56-4, but the counter-attacking Luke Ronchi (37) and a more defensively minded Santner (8) saw out the remaining overs.