Replying to India's first innings total of 316, New Zealand were off to a shaky start, and lost the wicket Tom Latham early on to a Mohammed Shami delivery.
Bhuvneshwar Kumar dismissed Martin Guptill shortly after, minutes before the end of the morning session.
In the second session, Bhuvneshwar took his second wicket, as a near-perfect delivery clipped the wickets behind Henry Nicholls, who made the walk back to the pavilion with just one run on the board.
After a brief fightback from Luke Ronchi and Ross Taylor, Ravindra Jadeja managed to wrest control back in India's favour by dismissing Ronchi.
That was before rain interrupted play at the Eden Gardens. On resumption of play, Bhuvneshwar continued his dominance with the ball, and crucially got the wicket of Ross Taylor.
With India now well on top, the pacer gave a major jolt to the visitors with two back-to-back wickets of Mitchell Santner and Matt Henry shortly after, thus claiming his fifth wicket of the innings.
In and out of the India Test team in recent times, Bhuvneshwar Kumar has certainly sent out a message with what is his first ever five-wicket haul at home, and fourth overall.
"It was one of my dreams to take five wickets in India. When I saw that the wicket would help me, I told myself I want to take five wickets. I really wanted to make use of the opportunity and I'm very happy with how I bowled," he later said.
New Zealand ended Day 2 at a score of 128/7 and trail India by 188 runs.