Chasing a stiff revised 255-run target on Duckworth-Lewis method on Wednesday, Kohli scored unbeaten 114 and was ably supported by Shreyas Iyer to guide India to a comfortable six-wicket win which translated into a 2-0 series victory in the three-match rubber.
Earlier in the day, Chris Gayle playing in probably his last ODI smashed 72 runs to help Windies post a competitive 240/7 in the rain-curtailed match after they elected to bat.
Gayle, whose jersey had the number 301 on its back as a nod towards the number of ODIs he has played, was congratulated by the Indian players and given a standing ovation by the crowd as he walked off in what could be his final ODI.
However, after the match, the 39-year-old made it clear that he has not retired yet.
Chasing 255, India lost opener Rohit Sharma (10) in the third over. However, Shikhar Dhawan and Kohli rose to the occasion and took the Men in Blue to 91 in the 12th over before the opener became Fabien Allen's victim.
Soon after, Rishabh Pant once again threw away his wicket by playing a rash shot, getting a first-ball duck.
However, that didn't disturb Kohli's rhythm. Also, he found an able support in Iyer who played with utmost ease and maturity and scored his second consecutive fifty and more importantly stitched a 120-run stand with his skipper for the fourth wicket, taking the team near the target.
What was more impressive was the way he took the pressure of Kohli which allowed the India run-machine play without any pressure. Iyer's 41-ball 65 was studded with five sixes and three boundaries.
When the 24-year-old was dismissed, the Men in Blue needed 43 more runs from 40 balls but Kedar Jadhav (198) made sure there was no twist in the tale. He raised an unbeaten 44-run stand for the sixth wicket and took India across the line.
Earlier, Gayle and opening partner Evin Lewis started slow with the first over bowled by Bhuvneshwar Kumar being maiden. Rain briefly interrupted proceedings in the second over that eventually went for 12 runs.
After the fourth over, Lewis and Gayle went after Bhuvneshwar, Mohammed Shami and Khaleel Ahmed to the point that the most economical between the sixth and 10th over was the seventh which produced 14 runs. West Indies raced to 114/0 in the first 10 overs. Lewis and Gayle struck a combined 8 sixes in this period, which is the most ever in an ODI batting first.
Lewis was dismissed in the 11th over and Gayle in the 12th but their stand set the template for West Indies' eventual total.
Shai Hope and Shimron Hetmyer were going steadily when rain forced a prolonged interruption. The match eventually started over three hours later as a 35-overs a side contest. Hetmyer and Hope's eventually crossed 50 before the former fell to Shami. Ravindra Jadeja then dismissed Hope in the next over but Nicholas Pooran then played a valuable cameo by smashing 30 runs in 16 balls.
Brief scores: India 256/4 (Virat Kohli 114*, Shreyas Iyer 65; Fabien Allen 2/40) bt West Indies 240/7 (Chris Gayle 72, Evin Lewis 43; Khaleel Ahmed 3/68)
( With inputs from IANS )