New Zealand posted 333 all out in 50 overs after Will Young hit a career-best 125 and Tim Seifert added 58.
Matt Henry took career-best figures of 6/27, dismissing Rohit Sharma, Virat Kohli, and Shreyas Iyer for ducks in the opening over to bowl India out for 89 in 26.4 overs.
New Zealand won by 244 runs at Bay Oval to narrow India's lead in the five-match ODI series to 2-1.