India took another step towards qualification for the World Cup semi-finals as they swept West Indies aside to win by 125 runs at Old Trafford.
Virat Kohli (72) led the way with the bat, hitting his fourth half-century in a row, and MS Dhoni made an unbeaten 56 as India, having been made to work for their runs by Kemar Roach (3-36) and Jason Holder (2-33) in particular, posted 268-7 on a used pitch in Manchester.
Mohammed Shami (4-16) removed Chris Gayle and bowled Shai Hope with a beauty early in the chase and West Indies never recovered, eventually succumbing to 143 all out in the 35th over.
The defeat spells an end to West Indies' hopes of making the last four while India's 11 points will almost certainly be enough to reach the knockout stages and they have a further three games to guarantee their spot.
Kohli had won the toss and chose to make first use of a pitch that was expected to turn on a beautiful day in Manchester and the India skipper was in early when Rohit Sharma was given out caught behind when DRS adjudged he had inside edged a fine delivery from Roach.
KL Rahul and Kohli added 69 for the second wicket before Rahul was bowled by Holder and when Roach returned to dismiss Vijay Shankar and Kedar Jadhav, both caught behind, India were in a spot of bother.
Kohli and Dhoni, who benefitted from a missed stumping when he was on eight, recovered the situation for the world No 1 ranked side but just as they appeared ready to launch their assault and push on towards 300, Holder had Kohli caught at midwicket.
After a couple of overs to reassess, the runs did start to come a little quicker with Hardik Pandya hitting 46 from 38 balls in a 70-run stand with Dhoni, who then finished the innings in style by smashing two sixes and a four to reach his half-century.
India's 268 was viewed as a par total but it soon looked considerably better than that when Gayle (6) pulled the ball limply to mid on off Shami, who followed that up by bowling Hope (5) through the gate with a fantastic delivery that nipped back to the right-hander.
Sunil Ambris (31) and Nicholas Pooran (28) tried to rebuild and added 55 for the third wicket but Ambris got himself in a tangle trying to play Pandya's off-cutter and Pooran holed out off Kuldeep Yadav, West Indies were back in the mire.
Holder (6) was next to go, chipping Yuzvendra Chahal to cover, Jasprit Bumrah (2-9) then nipped out Carlos Brathwaite (1) and Fabian Allen (0) and was only denied a hat-trick by Roach's (14no) last-second jamming down of the bat to keep out a slower-ball yorker.
Shami came back to have Shimron Hetmyer (18) caught at point and after Chahal (2-39) trapped Sheldon Cottrell (10) lbw, the fast bowler bounced out Oshane Thomas (6) to seal the win with more than 15 overs to spare.
Watch every game at the ICC Cricket World Cup on Sky Sports, continuing with Sri Lanka vs South Africa from 10am, Friday on Sky Sports Cricket World Cup.