Guptill failed with the bat in two Tests against South Africa last month, reinforcing the impression he struggles in the five-day game, despite his limited overs talents.
The opener averages 43.25 in one-dayers but just 29.59 in Tests and can expect a torrid time against the world number two India.
By retaining the 29-year-old Guptill, New Zealand have overlooked the chance to blood Jeet Raval, who is familiar with Indian conditions after playing his youth cricket there.
Neesham joins the 15-man New Zealand squad for the India tour after missing New Zealand's recent test series in Zimbabwe and South Africa. Opening batsman Jeet Raval and fast bowler Matt Henry have been omitted after being part of the squad for the African tour.
Also Read
"Jimmy has put in a lot of work to make sure he is physically ready for a return to Test cricket," selector Gavin Larsen said.
Larsen said India's home record was formidable but the Kiwis were looking for a historic series win.
"We're yet to win a Test series over there and that's motivating for everyone," he said. "We've got three Tests to try create a special piece of history."
New Zealand will play Tests in Kanpur, Kolkata and Indore, followed by a five-match one-day series against India.
Squad: Kane Williamson (captain), Trent Boult, Doug Bracewell, Mark Craig, Martin Guptill, Tom Latham, Jimmy Neesham, Henry Nicholls, Luke Ronchi, Mitchell Santner, Ish Sodhi, Tim Southee, Ross Taylor, Neil Wagner, BJ Watling.
Disclaimer: No Business Standard Journalist was involved in creation of this content