Birthday boy Kemar Roach and last man Tino Best ensured the West Indies did not complete their own destruction, turning in match saving performances.
The home side had to reply to the World Cup and Champions Trophy holders' total of 229 for seven. They tottered from the comfort of 142 for three in the 28th over via a rash of irresponsible shots, even with Johnson Charles battling to hold the innings together.
However the opening batsman joined the apparent suicide pact: he was eighth out for 97 and when Sunil Narine also gifted his wicket at 220 for nine. It was left to the Barbadian fast bowling pair of Roach -- on his 25th birthday -- and Best to see the West Indies home amid in a nail-biting finish.
India was deprived of the calming influence of Mahendra Singh Dhoni in the field after the captain was hobbled while batting by a suspected right hamstring strain. But, under the supervision of Virat Kohli, the visitors refused to give up, even when Charles and Darren Bravo (55) appeared to be tilting the balance decisively the home team's way.
Their fourth-wicket partnership of 116 lifted the Caribbean side from the early discomfort of 26 for three. Umesh Yadav, who removed the dangerous Chris Gayle, and Devon Smith in his opening burst, added the important wicket of Charles to keep his team's hopes alive in the match. He finished with the best figures of three for 43.
West Indies were themselves without their regular captain throughout the match. With Dwayne Bravo was sidelined with a groin strain, it was Kieron Pollard took the reins of leadership. Ravi Rampaul also missed out with a twisted ankle, but as it turned out his replacement Best played a key role in the victory.
He claimed the wickets of Dhoni and Ravindra Jadeja near the end of the Indian innings before returning to ensure his team scraped over the line to consolidate their position at the top of the three-team standings.
They now have two wins in two matches and head to Trinidad for repeat clashes with India and Sri Lanka before the final on July 11. Opening batsman Rohit Sharma had top-scored for India with 60 and featured in a 58-run fifth-wicket partnership with the experienced left-hander Suresh Raina.
Raina's knock of 44 was the next best effort among a batting line-up that generally struggled to come to terms with the two-paced nature of the pitch earlier in the day. It was the same experience for Sri Lanka on the way to their six-wicket defeat at the hands of the West Indies in the tournament's opening fixture on Friday at the same venue.
Roach and former captain Darren Sammy had identical bowling figures of two for 41. Best also claimed two victims in his final spell after being expensive and wayward in his earlier effort with the new white ball. Unusually, spinner Narine proved the most expensive, conceding 56 runs off ten wicketless overs, including 17 off the last over of the innings.