Nicholas Pooran safely completes a run, even as the bails are dislodged during the match at Old Trafford on Thursday. AP
Kohli top-scored with 72 to lay the foundations for India's 268 for seven after electing to bat first at Manchester's Old Trafford.
The Indian bowlers, led by paceman Mohammed Shami, then dismissed West Indies for 143 in 34.2 overs to end the West Indies' hopes of progressing.
India, who have displaced England as the top-ranked one-day team, remain the only unbeaten side in the tournament and need just one victory from their remaining three league games to guarantee a semi-finals berth.
West Indies joined Afghanistan and South Africa as the three teams to bow out of the race for the final four so far.
"We can't complain, we have just become the number one side in the world and we have been playing like that for a while now," said captain and man-of-the-match Kohli.
"Things hadn't gone our way with the bat in the last few games but we have found a way to win."
Shami, who took a hat-trick in the previous game, returned figures of 4-16, removing the dangerous Chris Gayle early after a scratchy innings from the opener.
But it was Kohli who set up the win as he became fastest batsman to reach 20,000 international runs in his 417th innings -- India's Sachin Tendulkar and Caribbean batsman Brian Lara both required 453 international innings to reach the landmark.
Wicketkeeper-batsman M.S. Dhoni and Hardik Pandya boosted the total, putting on 70 runs for the sixth wicket to punish the otherwise-disciplined bowlers.
Pandya hit 46 off 38 balls while Dhoni remained unbeaten on 56, ending the innings with a big six.
The West Indies bowlers, led by paceman Kemar Roach, had kept India in check until the latter stages, stemming the flow of runs with regular wickets.
Roach returned impressive figures of 3-36 in his 10 overs, including the wicket of India opener Rohit Sharma for 18.
Kohli, whose 82-ball knock included eight boundaries, extended his fine run of form with some eye-catching shots that charmed a partisan crowd at Old Trafford.
West Indies were in trouble early in their reply when Gayle mistimed a short ball from Shami and was caught by Kedar Jadhav to the left of mid-on after struggling to just six runs off 19 balls.
Shai Hope tried to take the Shami on and hit him for a boundary but the bowler responded by rattling his stumps with the next ball as West Indies slipped to 16-2.
It was all downhill from there for a struggling Caribbean side who failed to maintain momentum after their opening World Cup win against Pakistan.
Paceman Jasprit Bumrah and leg-spinner Yuzvendra Chahal took two wickets each.
West Indies captain Jason Holder said: "The bowlers did a fantastic job on this surface. I couldn't ask for more but we let ourselves down with the bat.
"We didn't seize the moment but I would have taken chasing 268. We didn't do it.
"We have let ourselves down significantly in this tournament. The bowlers had a reasonable campaign but our batting has been too inconsistent. This is our weakest format of the three."
Two-time champions India next play hosts England in Birmingham on Sunday.
The unpredictable English weather and some quality cricketers looking to showcase their skills on the biggest stage, the 2019 edition of the World Cup couldnt get any better.
India captain Virat Kohli is prepared to vary his World Cup attack by adopting a ‘horses for courses’ strategy that seeks to make the most of the different conditions on offer during the one-day tournament in England and Wales.
Fans mocked Indian cricket bosses after captain Virat Kohli unveiled the orange-and-dark-blue shirt that the team will wear in their World Cup match against England, saying the players would look like petrol pump attendants.
Novak Djokovic admitted on Sunday he will miss injured rival Roger Federer as he prepares to begin his charge for the Dubai Championships.
New Zealand quick Trent Boult declared himself “happy to be back” as he bagged three wickets to leave India struggling for survival at stumps on day three of the first Test in Wellington on Sunday.
Andre Villas-Boas had few excuses for his Marseille team on Saturday after their 14-match unbeaten run in Ligue 1 came to an end with a surprise 3-1 home defeat by off-form Nantes.