Earlier, with Daryl Mitchell’s sparkling century, New Zealand set India a competitive 274-run target in the match.
New Zealand lost their openers early after being invited to bat first in the Himalayan hill town of Dharamsala but Mitchell (130) and Rachin Ravindra (75) put on 159 to get the innings back on track.
The stand was the highest between the two teams at a World Cup for any wicket as the pair surpassed the previous best of 136 by Sunil Gavaskar and Kris Srikkanth in 1987.
Fast bowler Mohammed Shami helped India pull things back in the final 10 overs as he returned figures of 5-54 in his first appearance at the tournament.
Fellow paceman Mohammed Siraj and Shami took down Devon Conway, for a duck, and Will Young, for 17, as New Zealand slipped to 19-2.
The left-handed Ravindra, who is of Indian origin, departed in the 34th over but Mitchell kept up the charge to raise his fifth ODI ton.
Ravindra, who was dropped on 12 by Ravindra Jadeja off Shami, made the most of the reprieve to reach his third fifty in his 17th ODI.
Both Ravindra and Mitchell tackled the Indian spinners with aplomb by using their feet to perfection and Jadeja went wicketless in his 10 overs.
Mitchell, who survived dropped catches on 59 and 69, stood firm despite losing Ravindra and then skipper Tom Latham for five off Kuldeep Yadav, the left-arm wrist spinner who took two wickets
Runs dried up for New Zealand, who also lost Glenn Phillips on 23.
Shami was on a hat-trick averted by Lockie Ferguson but he finally ended Mitchell´s marathon knock on the penultimate ball of the innings for his second five-wicket haul in World Cups.
New Zealand lost their final wicket on the last ball of the 50th over with Lockie Ferguson run out.
Both teams have won four games each in the round-robin tournament but New Zealand top the 10-team table due to superior run-rate.