Chris Gayle broke two of Brian Lara's ODI records but a sublime century from Virat Kohli inspired India to a 59-run victory in Port of Spain and a 1-0 series lead over West Indies with one match to play.

Gayle surpassed Lara to become the first West Indian to make 300 appearances in the 50-over format and also moved past the great left-hander's record tally of 10,348 ODI runs at the Queen's Park Oval on Sunday.

The opener fell for only 11 soon after making history and Bhuvneshwar Kumar took 4-31 as Jason Holder's side were bowled out for 210, chasing a revised target of 270 to win from 46 overs after a couple of rain delays – Evin Lewis top scoring with 65.

Kohli (120) was the star of the show, the India captain crafting a 42nd ODI hundred and setting a record of his own for the fewest innings to score 2,000 ODI runs against one nation in his 34th knock against the Windies.

The classy Kohli also moved past Sourav Ganguly into second on the all-time list of India's leading ODI run-makers and held three catches, while Shreyas Iyer scored an excellent 71 in India's 279-7.

Sheldon Cottrell gave the Windies an ideal start by trapping Shikhar Dhawan leg before from the third ball of the match, but Kohli – who won the toss – and Rohit Sharma set a platform with a second-wicket stand of 74.

Kohli was in ominous touch from the start of his latest masterclass, scoring freely on both sides of the wicket, and Iyer provided great support for his skipper after Rohit and Rishabh Pant departed.

India were 101-3 in the 23rd over when Carlos Brathwaite (3-53) bowled Pant, but Kohli and the impressive Iyer frustrated the Windies with a fourth-wicket stand of 125.

Kohli crunched Holder back over his head for six and pointed to his name on his shirt to celebrate yet another hundred before holing out off Brathwaite and Iyer followed after hitting a six and five fours.

Gayle was given a standing ovation and a shake of the hand by Kohli when he surpassed Lara's tally, but Bhuvneshwar sent him on his way soon after leg before.

Shai Hope and Shimron Hetmyer also failed following a second rain delay, but Lewis dug in for a fluent half-century despite suffering a calf injury before Kohli rose to remove the opener with a sharp one-handed catch at extra cover off Kuldeep Yadav.

Nicholas Pooran played his shots to give the Windies hope, but Bhuvneshwar dismissed him for 42 and took a brilliant catch off his own bowling to get rid of Roston Chase as India secured a comfortable win.