India finished the second day of the first Test on the defensive with New Zealand's openers unbeaten on 129 after Tim Southee's five-for restricted the hosts to 345.
The Black Caps' openers Tom Latham on 50 and Will Young on 75 survived 41 testing overs of spin by Ravichandran Ashwin, Ravindra Jadeja and Axar Patel.
Starting the second day on 258-4 in their first innings in a polluted Kanpur, all the Indian batsmen except debutant Shreyas Iyer found Southee a handful.
The 32-year-old pacer finished with five for 69 in his 27.4-over spell, four of the wickets coming in Friday's morning session, getting New Zealand back into the game after Iyer's maiden Test century.
India's stand-in skipper Ajinkya Rahane introduced Ashwin's spin after seven uneventful overs by pacers Ishant Sharma and Umesh Yadav on a slow pitch.
Latham and Young looked in control, rotating strike at will and hitting 16 fours between them to keep the scoreboard moving.
Latham hit four fours in his 165-ball innings against Young's 12 fours off 174 balls.
Latham, on 50, was given out caught behind off Ashwin in the penultimate over of the day before bad light stopped play, but was reprieved on review.
The World Test Championship holders now trail India by 216 runs in the first innings, with the pitch expected to further aid Indian spinners on Saturday.
Ashwin finished the day with 17 wicket-less overs for 38 runs. Jadeja bowled his 14 economical overs for 28 runs and Patel -- the other left-arm spinner in the Indian team -- went for 26 runs off his 10 overs.
Sharma was taken out of the attack by Rahane only after six overs and Umesh bowled his 10 for 26 runs.
Southee stopped the Indian advance in the first session on Friday when he bowled Ravindra Jadeja in his 12th delivery of the day for 50, the all-rounder having failed to add to his overnight score.
This broke Jadeja's 121-run partnership with Iyer and started the Indian collapse.
Iyer looked fluent and picked up from his overnight score of 75 to hit two fours in the first over off Kyle Jamieson, the Black Caps' standout bowler on Thursday.
White-ball specialist Iyer hit 13 fours and two sixes in his 171-ball innings of 105 before he was undone by Southee and caught by Young at cover to reduce India to 305-7.
Southee also removed Saha for one off 12 balls when he edged a delivery to Tom Blundell behind the stumps.
Patel too fell to Southee after edging a delivery to Blundell after scoring three off nine balls.
The hosts went to lunch at 339-8 and lost the last two wickets immediately after the break, both to Ajaz Patel.
Ravichandran Ashwin was bowled by Patel for 38 off 56 balls and the spinner also claimed Ishant Sharma for zero.
Jamieson, the other pacer, could not add to his tally after three wickets -- of openers Mayank Agarwal, Shubman Gill and stand-in captain Ajinkya Rahane -- on the first day. He bowled 23.2 overs for 91 runs.