Chasing 147 for the win, the hosts have been skittled out for 121 through the afternoon session, with spinner Ajaz Patel taking 6-57.
India regarded heading in the right direction for a fair heavier defeat once they slipped to 29-5, earlier than a punchy half-century from Rishabh Pant gave them hope.
However Pant’s dismissal for 64 shortly after lunch noticed New Zealand regain a grip on the match that they by no means relinquished.
Pant was given not out on the sphere however the choice was overturned by the TV umpire, who determined after a number of replays that the ball had brushed his bat earlier than clipping the pad on the way in which by to wicketkeeper Tom Blundell.
That left India reeling on 106-7 they usually added simply 15 runs for the ultimate three wickets, with Patel wrapping up the win to finish with match figures of 11-160.
New Zealand had begun the day on 171-9 however added simply three runs earlier than Patel was dismissed by Ravindra Jadeja, who took 5-55 to finish with match figures of 10-120.
The win retains New Zealand’s hopes of reaching the World Check Championship closing in June alive, however has severely dented India’s possibilities of reaching it for the third successive time.