Nicholas Pooran's whirlwind 53 not out off 25 balls helped West Indies reach 181-3 after opting to bat.
In reply, Shikhar Dhawan (92 off 62) and Rishabh Pant (58 off 38) led India to 182-4 off all 20 overs but some late drama added a twist to the finish.
At 45-2, Dhawan and Pant came together to put on 130 runs.
While Dhawan dropped anchor at one end, Pant attacked the bowling in his naturally aggressive style, hitting five boundaries and three sixes.
India appeared to be cruising in the chase before Pant, against the run of play, tried a reverse sweep and was bowled by Keemo Paul in the 19th over, leaving India needing seven runs from 11 deliveries for victory.
It allowed West Indies to close in and it became five runs needed off six balls. Dhawan was dismissed on the penultimate ball when he holed out to long on from Fabian Allen's bowling.
Manish Pandey and Dinesh Karthik managed the solitary run needed as Allen fumbled the ball at the bowler's end and missed a run-out opportunity as the Indian pair scampered through for the winning single.
"Great effort to cross the finish line," India's Rohit Sharma said. "These guys will learn from that, when they play games like this. They will mature."
Carlos Brathwaite said the West Indies could be content with the effort.
"We brought it down to the last over," he said."We have a lot of young promising talent. We have to manage them. Once we do the right things .... we can get these guys in a position to not just challenge but win the upcoming World Cups.
India won the test series 2-0 and the ODI series 3-1.