First Test, Rajkot (day two):
India 649-9 dec: Kohli 139, Shaw 134, Jadeja 100*, Pant 92, Pujara 86, Bishoo 4-217
West Indies 94-6: Shami 2-11
West Indies trail by 555 runs
Virat Kohli became the first India batsman to pass 1,000 Test runs in three consecutive years by hitting 139 as the hosts ruthlessly dominated West Indies on day two of the first Test.
The India captain, 29, eased to his 24th Test century and fourth of 2018.
All-rounder Ravindra Jadeja hit his maiden Test ton, ending on 100 not out, with Rishabh Pant making 92 as India declared on 649-9 at tea in Rajkot.
West Indies had collapsed to 94-6 by the close, trailing by 555 runs.
Fast bowler Mohammed Shami removed both Windies openers, bowling stand-in captain Kraigg Brathwaite and trapping Kieran Powell lbw.
Shai Hope was then bowled by off-spinner Ravichandran Ashwin before Shimron Hetmyer was run out in farcical fashion, with both he and Sunil Ambris caught at the same end as Jadeja threw down the stumps.
Slow left-armer Jadeja had Ambris caught at first slip and left-arm wrist-spinner Kuldeep Yadav knocked over Shane Dowrich's stumps to leave the hosts battling to avoid an innings defeat in the first match of the two-Test series.
Resuming on 72 not out, Kohli calmly reached his century off 184 balls, moving above Virender Sehwag (23) to fourth place in the list of most Test hundreds for India and putting him behind only Sunil Gavaskar (34), Rahul Dravid (36) and Sachin Tendulkar (51).
Kohli eventually fell to debutant Sherman Lewis, caught by Devendra Bishoo off a leading edge, and now has 1,018 runs this year, having scored 1,059 in 2017 and 1,215 in 2016.
Only Australia batsmen Matthew Hayden (five) and Steve Smith (four) have surpassed 1,000 Test runs in a calendar year in more consecutive years, while England pair Marcus Trescothick and Kevin Pietersen and West Indies' Brian Lara also achieved the feat in three successive years.
Kohli put on 133 with Pant, who smashed eight fours and four sixes in his 84-ball knock against an inexperienced attack, only to fall eight runs short of a second Test ton when he edged a Bishoo googly to Keemo Paul.
Jadeja steadily built towards his fifty before accelerating with India eight down, hitting five fours and five sixes as he dominated the strike to reach his ton off 132 balls.
Leg-spinner Bishoo removed Ashwin and Kuldeep to finish with four wickets, but had conceded 217 off his 54 overs.