The Men in Blue scored 27 runs in seven overs to get past the 300-run mark in their historic 500th Test.
Resuming the day on 291, Ravindra Jadeja scored unbeaten 42 from 44 balls with seven boundaries and a six, putting on an invaluable stand of 41 runs for the final wicket with Umesh Yadav, who survived 15 balls before gloving a short ball from pacer Wagner to the wicket-keeper BJ Watling for nine runs.
For New Zealand, spinner Santner and pacer Trent Boult claimed three wickets each, while Wagner bagged a couple and Ish Sodhi and Craig got one wicket apiece.
India will now look up to their spinners — Ravichandran Ashwin and Ravindra Jadeja — to keep the home team’s unbeaten streak at Green Park intact.
India 318 (Vijay 65, Pujara 62, Jadeja 42(not out), Boult 3-67, Santner 3-94) against New Zealand.