Stand-in captain Virat Kohli struck a century as India revived hopes of reaching the Tri-Nations final with a 102-run Duckworth-Lewis method win over the West Indies.
Kohli plundered 102 from 83 balls in Port-of-Spain as India, who had lost their opening two games, posted 311-7.
That target was reduced to 274 in 39 overs after rain but West Indies never looked like chasing it down before being bowled out for 171 to hand India a bonus-point win.
New-ball pair Bhuvneshwar Kumar and Umesh Yadav claimed three wickets apiece to ensure the hosts' chase never got started.
Kumar had dangerman Chris Gayle caught behind in the third over and West Indies were 25-2 when he then prised out Darren Bravo.
West Indies reached 56-2 after 10 overs when the rain came and forced a reduction in the game but quick wickets all-but sealed the outcome.
After Ishant Sharma removed top-scored Johnson Charles (45) Yadav struck three quick blows to leave the hosts 113-8.
Kemar Roach and Sunil Narine delayed the inevitable in a 58-run stand but Ravindra Jadeja wrapped matters up having Narine caught in the deep before bowling Roach next ball.
Earlier, openers Shaker Dhawan and Rohit Sharma had put on 123 for the first wicket to lay the foundation for Kohli to take charge.
Despite wickets falling at regular intervals at the other end, he struck 13 fours and two sixes in his 14th ODI century, before being eventually dismissed in the final over, caught by Darren Sammy off Dwayne Bravo.