Kohli ton powers India to big ODI win over Sri Lanka
Kohli hammered 113 off 87 balls to drive India to 373-7 after they were invited to bat first at the start of the three-match series in Guwahati.
Skipper Rohit Sharma (83) and fellow opener Shubman Gill (70) put on 143 runs to lay the foundations of the mammoth total.
The bowlers, led by Mohammed Siraj, then restricted Sri Lanka to 306-8 to give India a 1-0 lead in the series.
Skipper Dasun Shanaka top-scored with an unbeaten 108 after opening batsman Pathum Nissanka hit 72 but the knocks could only reduce the margin of loss for the tourists.
Kohli, who survived two dropped catches on 52 and 81, stood out with his 45th ODI hundred and 73rd across all formats as he let out a roar and took off his helmet to bask in the stadium's applause.
He finally fell to third-time-lucky quick Kasun Rajitha, who was also bowling when wicketkeeper Kusal Mendis and Shanaka dropped the star batsman.
Gill hit three successive boundaries off debutant left-arm quick Dilshan Madushanka in the fourth over and Rohit smashed two sixes and a four off Rajitha to begin the charge on a batting-friendly pitch.
Rohit, who returned to captain the side after missing India's 2-1 T20I series win, reached his fifty with a four and Gill raised his half-century a short time later.
Gill took on Dunith Wellalage with three successive fours in one over before he fell lbw in the next to Shanaka's medium-pace bowling.
Rohit attempted to keep up the attack with regular boundaries but Madushanka cut short his knock with a length ball that bowled the Indian skipper off an inside edge.
The rest of the innings belonged to Kohli, who has hit two successive ODI hundreds since coming out of an extended lean patch last year.
In reply, Sri Lanka were never in the chase after losing two early wickets including Mendis bowled for a duck off Siraj.
Nissanka attempted to give some life to the chase with his fighting knock and a 72-run fourth-wicket stand with Dhananjaya de Silva, who made 47.
Sri Lanka slipped to 206-8 in the 38th over but Shanaka stretched the match till the final ball with an unbeaten 100-run stand with Rajitha.
Umran Malik took three wickets with his express pace.
The second match is on Thursday at Kolkata's Eden Gardens.