Rohit Sharma (68) and Ravindra Jadeja (50) stitched together an unbeaten 100 for the sixth wicket, and the umpires called for tea soon after the declaration by the hosts, playing their 500th test.
The duo played attacking cricket in the second session to put India in a strong position. Jadeja hit two fours and three sixes during his 58-ball knock and Sharma struck eight boundaries for his fifth Test fifty.
Cheteshwar Pujara top-scored for the hosts with 78 and his 133-run second-wicket partnership with Murali Vijay (76) was the highlight of the innings.
New Zealand spinners Mitchell Santner and Ish Sodhi claimed two wickets each.
India’s own spinners, Ravindra Jadeja and Ravichandran Ashwin, had put the hosts in a commanding position on Saturday after New Zealand were bowled out for 262 in their first innings in response to India’s 318.
Jadeja, who recorded his fifth five-wicket haul in Tests, and Ashwin shared nine wickets between them.