The hosts, who elected to bat, were hoping to steady after their early losses through Cheteshwar Pujara, who was 31 at lunch, and Ajinkya Rahane, on two.
Henry, returning to the side for his fifth Test, claimed openers Shikhar Dhawan and Murali Vijay to leave India reeling at 28 for two.
Henry bowled Dhawan for one after the left-handed opener chopped a back-of-a-length delivery onto his stumps.
Dhawan had been hoping to impress after being called into the starting line-up for Lokesh Rahul, who was ruled out of the remaining two Tests with injury.
Trent Boult piled on the pressure to claim the big wicket of Indian skipper Virat Kohli (nine), who was guilty of chasing a wide delivery, as Tom Latham took a splendid catch at gully.
At the start of the match, which marks India’s 250th Test at home, World Cup winning captain Kapil Dev rang a bell newly installed at the iconic Eden Gardens, following a similar tradition at Lord’s.
Ross Taylor is captaining New Zealand in the absence of Kane Williamson, who was ruled out with a virus.