Virat Kohli's fourth one-day international century set up a 40-run victory for India in the opening game of the five-match series with New Zealand.
Kohli hit 105 in India's total of 276 all out, after they had been sent in by stand-in Black Caps skipper Ross Taylor in Guwahati.
New Zealand's seam attack impressed on a flat pitch, left-arm paceman Andy McKay leading the way with one-day best figures of 4-62.
But the visitors were dismissed for 236 in reply with Shanthakumaran Sreesanth, Ravichandran Ashwin and Yuvraj Singh each collecting three wickets.
Kohli dispatched 10 boundaries in his second successive hundred after Murali Vijay (29) and Gautam Gambhir (38) shared an opening stand of 44.
When Gambhir went with the total on 92 it needed India to put together a partnership and Kohli and Yuvraj came together, putting on 88 for the third wicket to set a good platform.
After a slow start Yuvraj (42) helped steer India to 179 until Daryl Tuffey (2-56) struck to have him caught by wicketkeeper Gareth Hopkins.
India lost late wickets during the powerplay but Yusuf Pathan's 29 off 19 saw them up to a competitive final score.
New Zealand's reply failed to gather any real momentum despite useful contributions from Nathan McCullum (35), Mills (32) and Martin Guptill (30).
Taylor hit three fours and three sixes in his 69-ball 66 and while he was at the crease the tourists were still in with a chance.
But when he became the seventh to depart, off Ashwin (3-50) with the total on 157, New Zealand's cause looked doomed.
McCullum and Mills did their best to revive the innings but their late hitting was in vain as Sreesanth (3-30) removed both with successive deliveries at the start of the 46th over to complete India's win.
The series continues in Jaipur on December 1.