India moved to the brink of sealing their place in the World Cup semi-finals by ending the West Indies' lingering hopes of reaching the knockout stages at Old Trafford.
India 268/7: Kholi 72; Dhoni 56*, Roach 3-36
West Indies 143 all out: Ambris 31; Shami 4-16
Virat Kohli's fourth successive half-century underpinned a total of 268 for seven, with Hardik Pandya and Mahendra Singh Dhoni injecting some late impetus as 81 runs were taken from the final nine overs.
That proved to be more than enough on a used surface offering a hint of movement and appreciable turn as they claimed a 125-run win, with the Windies succumbing to 143 all out after 34.2 overs under glorious blue skies.
Jason Holder and Kemar Roach had shared five wickets but the Windies batsmen were found wanting here, only three of their top eight reaching double figures, with Mohammed Shami the pick of India's bowlers with four for 16.
The Windies therefore join Afghanistan and South Africa with nothing but pride to play for in their remaining two fixtures while India, who went to the top of the ICC one-day international rankings on Thursday morning, head into this Sunday's clash against England with their unbeaten record in tact.
As against Afghanistan, India's batting was far from convincing but their pacemen and spinners made up for any shortfall as they moved up to second in the standings to the delight of the sea of blue in the crowd.
They got off to a false start after Kohli decided to bat first, Rohit Sharma seemingly beaten between bat and pad by one that jagged back in from Roach, only for Ultraedge to detect a faint noise following a Windies review.
WICKET! Shami's second ball is a bouncer that hits Thomas and is caught in the slip. The on-field decision is not out, but India use up their review... #TeamIndia beat #WestIndies by 125 runs!
— Sky Sports Cricket (@SkyCricket) June 27, 2019
See reaction live on SS World Cup or follow: https://t.co/E5TYEtkK7W pic.twitter.com/5JibooVKW3
The original not-out decision was controversially overturned, Rohit shaking his head as he trudged off, bringing Kohli to the crease to the customary cacophony of noise that usually greets his arrival at the crease.
The India captain got off to a punchy start but momentum was stymied by Windies counterpart Holder, who started with two maidens before castling KL Rahul for 48 with a fantastic nip-backer.
Kohli drove uppishly to the extra-cover boundary off the wayward Oshane Thomas to move to 49 before bringing up a 55-ball fifty, but Roach's return to the attack saw Vijay Shankar and Kedar Jadhav edge behind.
Roach and Holder were rewarded for probing lines and lengths as they combined for figures of five for 69 - the latter claiming the key wicket of Kohli for 72.
The ball seemed to stick in the pitch as Kohli offered catching practice to short midwicket, with a three-figure score in this tournament continuing to elude him.
Dhoni had been given a reprieve on eight, skipping down to slow left-armer Fabian Allen, who alongside Sunil Ambris was making his World Cup bow, only for wicketkeeper Shai Hope to juggle the ball and twice miss the stumping.
It was a costly error as the likes of Thomas, Sheldon Cottrell and Carlos Brathwaite were unable to back up the earlier work of Roach and Holder, with Dhoni and Pandya putting on a useful 70-run stand in the closing stages.
Cottrell snared Pandya for 46 from 38 balls but Dhoni, who had been 18 off 38 at one stage, finished on 56 off 61 after clubbing two sixes and a four in Thomas' final over.
It was a testing total and one the Windies never got close to. Fresh from his hat-trick against Afghanistan, Shami delivered a blistering new-ball spell to account for Chris Gayle and Hope.
Gayle laboured to six off 19 balls before splicing to midwicket while Hope was cleaned up through the gate, the ball clipping the top of off-stump, after missing an expansive drive.
A 10-over score of 29 for two was a tournament low for the first powerplay and matters barely improved as they haemorrhaged wickets.
Brathwaite had clubbed an unlikely maiden international hundred on the same pitch last weekend as the Windies fell agonisingly short against New Zealand, but there was to be no dramatic twist in the tale here.
He was sixth man out, caught behind for one off Jasprit Bumrah, who trapped Allen in front immediately afterwards. There was to be no hat-trick but Shami wrapped up the win soon after.