Chris Gayle broke Brian Lara's ODI run-scoring and West Indies appearance records before falling cheaply after India captain Virat Kohli made another sublime century in Port of Spain.

Gayle marked his historic 300th match in the 50-over format by bettering the great Lara's tally of 10,348 runs at the Queen's Park Oval on Sunday.

The 39-year-old opening batsman was given a standing ovation and a shake of the hand from Kohli when he set the record in Lara's hometown.

Gayle was five ahead of Lara when he fell for only 11, failing with a review after he was trapped leg before wicket bang in front by Bhuvneshwar Kumar, reducing the Windies to 45-1 in reply to 279-7 in the second match of the series.

Kohli earlier produced another masterclass, moving above Sourav Ganguly into second on the list of leading India ODI run-scorers with a magnificent 120 from 125 balls.

The classy skipper struck a six and another 14 boundaries and Shreyas Iyer made 71 after the tourists had won the toss.

Kohli also set a record for the fewest innings to score 2,000 ODI runs against one nation in what was his 34th knock against the Windies.