Shreyas Iyer's unbeaten 75 on debut steadied India after an afternoon wobble to end the opening day of the first Test looking comfortable at 258-4.
Iyer shared an unfinished 113-run partnership with all-rounder Ravindra Jadeja who made a busy 50 off 100 balls, in the heavily polluted industrial city of Kanpur.
Iyer, the last specialist batsman in the order before bowling all-rounders and the wicketkeeper, hit 7 fours and two sixes in his 136-ball innings. His partner at the other end, Jadeja, hit six fours.
Iyer came in after Cheteshwar Pujara's dismissal for 26 off 88 balls to Tim Southee left India at 106-3.
India's stand-in captain Ajinkya Rahane built a 39-run partnership with Iyer before becoming Kyle Jamieson's third scalp to leave India at 154-4 at tea.
Jamieson, the sharpest of the New Zealand bowlers, had earlier removed India's new opening pair of Mayank Agarwal and Shubman Gill in his 15.2 overs spell giving away only 47 runs and taking three wickets.
"[I] hardly played the last couple of months. Was nice to find some rhythm. Probably too good at times, hence the overstepping," Jamieson said.
"Hopefully the new ball swings a bit in the morning and we can take a few wickets. India is probably a fraction ahead, but we did well to have them four down."
Gill, who looked promising at unbeaten 52 off 93 balls going into lunch, could not add to the score and was bowled by Jamieson in the first over after the break.
He hit five fours and a six in his free-flowing innings and was Jamieson's second, after Agarwal who edged him to wicketkeeper Tom Blundell in the eighth over after a scratchy 13 runs off 28 balls.
New Zealand captain Kane Williamson re-introduced Tim Southee in the 38th over of the innings and the veteran removed a well-set Pujara off his fourth ball.
Williamson took the second new ball when it became available at the end of the 80th over but Jadeja and Iyer comfortably navigated the four overs before play was called off for bad light.
The hosts dominated the final session of the game and will now hope to bat the Kiwis out of the game Friday before the pitch becomes more conducive to the spinners.
India were without a rested Rohit Sharma and Virat Kohli and an injured KL Rahul.
The World Test Championship holders picked two specialist spinners - Ajaz Patel and William Somerville - and spinning all-rounder Rachin Ravindra for Kanpur.
Patel bowled his left-arm spin for 21 wicketless overs that cost 78 runs.
Off-spinner Somerville was introduced in the 18th over and bowled a tidy 24-over spell for 60 runs.
The 22-year-old Ravindra, the other debutant in the match, got to bowl for the first time in the 25th over with the ball already gripping and turning on the slow first-day pitch, but failed to take a wicket.
Rahane too packed his side with three specialist spinners in Jadeja, Ravichandran Ashwin and Axar Patel.
Pollution cast a hazy pall over the ground, with levels of the most harmful PM2.5 microparticles reaching more than 19 times the World Health Organization's recommended daily maximum, according to monitoring company IQAir.