Put into bat in dewy conditions, New Zealand made an aggressive start, racking up 64 in the power play for the loss of just Guptill.
But they struggled to score off the spin duo of Axar Patel and Ravichandran Ashwin and debutant seamer Harshal Patel, who took two wickets and was man of the match.
Guptill smashed 31 off 15 -- despite a bouncer to the head -- while Mark Chapman, coming off an impressive 63 in the first game, made 21 off 17 before falling trying to direct a full Axar Patel delivery over the ropes.
India withstand pressure
Phillips briefly got the scorecard moving, top-scoring for the visitors with 34 off 21 including three sixes before being caught at deep square leg off Harshal.
"(At the start) we were under pressure, no doubt about that. We know their quality as a batting (unit) and when they play like that it's always tough on the bowlers," Sharma said.
"But I kept telling the boys it was just about one wicket. If we get that we can put the brakes. We know the quality of our spinners and can always pull things back."
"Credit to India, they pulled it back nicely after the first six and played the better cricket throughout the game," Southee said.
"We knew it was going to be wet, it was wet for both teams. There was dew on the ground when we turned up and we knew it would be a factor, but they were too good tonight."
India made one change after the first match of the three-match series on Wednesday, with Harshal replacing the injured Mohammed Siraj.
The visitors made three changes with Adam Milne, Ish Sodhi and Neesham coming in for Lockie Ferguson, Rachin Ravindra and Todd Astle.
New Zealand captain Kane Williamson is sitting out the T20I series which began just three days after the World Cup final when the Black Caps went down to Australia.
The talismanic Kiwi batsman will feature in the two-match Test series beginning in Kanpur on 25 November. Fast bowler Kyle Jamieson is also being rested for the series.
Kohli, given a break from the T20s, is due to return -- as captain -- for the second Test in Mumbai from 3 December. Ajinkya Rahane will captain India in the first Test.
The third and final T20I is in Kolkata on Sunday.