Chasing a modest 86 for victory, India hit the jackpot with 31.2 overs to spare, when Dwayne Bravo delivered a no-ball to Robin Uthappa.
Uthappa was not out on 35 and Dinesh Karthik was unbeaten on 38.
They added 80 for the second wicket, after Virender Sehwag was caught behind off Daren Powell for a duck in the second over.
"It was a really good performance today. We had the opportunity to bowl first and had helpful conditions," said India skipper Rahul Dravid.
"We put the ball in the right areas and took our catches. We will take a lot of confidence from this into the World Cup.
"Our body language is good and we have had some good results behind us. We have key players who are coming into form and fitness and results like this give us great momentum."
India's seam bowlers destroyed the West Indies' batting on a helpful Trelawny Multi-Purpose Stadium pitch.
Munaf Patel was the most successful Indian bowler with four wickets for 10 runs from six overs, Irfan Pathan collected three for 25 in six overs, and Zaheer Khan snared two for 22 from six overs.
Only three West Indies batsmen got into double-figures after the hosts chose to bat - captain Brian Lara top-scored with 22, and Ramnaresh Sarwan and Dwayne Smith both hit 13.
Lara was furious with his team's collapse.
"I am very disappointed, no-one in the dressing room is very happy," he said.
"We need to bat a lot more professionally if we are to win this tournament."
West Indies were in trouble from as early as the fourth over, when Shivnarine Chanderpaul was caught behind down the leg-side for six off Zaheer Khan.
Then Chris Gayle was caught behind for the same score off the first ball of the next over bowled by Ajit Agarkar.
Lara came to the crease and added 39 for the third wicket with Ramnaresh Sarwan, but his dismissal in the 14th over, caught and bowled to Pathan, triggered a catastrophic batting collapse that disappointed the stadium which was half-filled with scores of eager West Indies fans.
The hosts lost their last eight wickets for 29 runs in the space of 71 deliveries.
India have been drawn with Sri Lanka, Bangladesh, and Bermuda in Group B of the World Cup in Trinidad.
West Indies tackle Pakistan, Zimbabwe, and Ireland in Group D to be contested at Sabina Park in the Jamaica capital, Kingston.
Did not bat: D. Powell, C. Collymore
Fall of wickets: 1-14 (Chanderpaul); 2-14 (Gayle), 3-53 (Lara); 4-53 (Sarwan), 5-57 (Bravo); 6-61 (Pollard), 7-62 (Samuels); 8-62 (Ramdin), 9-80 (Smith)
India (target: 86 off 50 overs)
Did not bat: S. Ganguly, Yuvraj Singh, R. Dravid (capt), M. Dhoni, Kumble, Harbhajan Singh, Z. Khan, I. Pathan, A. Agarkar, M. Patel
Fall of wickets: 1-6 (Sehwag).
Result: India won by nine wickets.
Toss: West Indies.
Umpires: B. Jerling, A. de Silva.