At stumps, Sri Lanka were down in the dumps at 21 for one with another 384 runs required to avoid innings defeat.
The Indian captain scored a majestic 213 -- his 19th hundred, en route which he broke a plethora of records in company of Rohit Sharma (102 no), who got a Test ton after four long years.
Kohli's brute power combined with Rohit's lazy elegance made it a head cocktail of entertainment for the Sunday crowd, who were thrilled to bits whenever the Indian skipper reached a milestone.
The Sri Lankan bowlers never looked good enough to dismiss Kohli and it required a mistimed shot to see the back of the Indian captain, who got a standing ovation from the 12,000 plus present at the VCA Stadium.
The 267-ball knock comprised 17 boundaries and two sixes -- both of Sri Lanka's worst bowler Dilruwan Perera (3/202 in 45 overs).
It was a day when Kohli had the statisticians working overtime doing the number crunching as records fell like ninepins. It was his 12th hundred as Indian captain and he surpassed Sunil Gavaskar's previous record of 11 centuries.
The number of double centuries -- five is at par with Rahul Dravid and just one less than the legendary Sachin Tendulkar and Virender Sehwag (6 each).
This was also his 10th international hundred in a calendar year (6 in ODIs and 4 in Tests). Earlier, it was Ricky Ponting (9 hundreds each in 2005 and 2006 respectively) and Graeme Smith (9 in 2005), who held the record for most number of international tons in a calendar year as captains.
Kohli now has five double hundreds against five different countries -- West Indies, New Zealand, England, Bangladesh and Sri Lanka. He is only 25 runs short of completing 5000 runs in Test cricket.
It was an abject humiliation for the Sri Lanka attack as Kohli picked singles and doubles at will after field was completely spread. Out of 213 runs, Kohli ran 133 runs in ones, twos and threes primarily because of the spread out field to save the boundaries.
After enjoying a 183-run stand with Cheteshwar Pujara (143), Kohli had another fruitful stand of 173 for the fifth wicket with Rohit Sharma.
Rohit's third Test hundred came off 160 balls with eight boundaries and a six. However one can't take away the fact that India was more than 200 runs ahead by that time. But Rohit's innings will certainly give Kohli some relief with Ajinkya Rahane going through a wretched stretch of form.
Kohli started with a square drive and then hit cover drive and on drives.
Whenever Suranga Lakmal (0/111 in 29 overs) strayed on Kohli's pads, the skipper repeatedly whipped the deliveries through mid-wicket region.
It was a whip to deep midwicket for a single that brought Kohli's 19th hundred in Test cricket. There wasn't any exaggerated celebration this time unlike Kolkata, where he had bailed the team out of trouble.
Lakmal and Lahiru Gamage (1/97 in 35 overs) bowled with deep square leg, deep fine leg and deep extra cover making it clear that they did not want to concede boundaries. The easy singles were there for the taking.
Sri Lankan bowlers were unable to find an answer to their woes on a benign pitch that had forced one of their bowlers to "alter the condition of the ball".
After India started the day at 312 for 2, the Sri Lankan bowlers lacked stomach for fight which was evident from the field placing of Dinesh Chandimal.
When Shanaka (1/103 in 26.1 overs) got wicketkeeper Niroshan Dickwella to stand up, it was evident that how deep the negative mindset had crept into the Sri Lankan system.
Rangana Herath (1/81 in 39 overs) was restrictive but didn't bowl any wicket-taking delivery.
In the first session itself, it looked like the visitors are going through the motion only waiting for Kohli to declare the innings.
As a contest, it became lopsided from the moment Sri Lanka were all out for 205.
By the time, India declared their first innings, the shoulders had drooped and energy sapped. No wonder Sadeera Samarwickrama (0) had no clue that Ishant Sharma's back of the length delivery would be jag back after landing on the seam to clip his off-bail. It proved that Sri Lanka were already out of the match.
The formalities in all likelihood would be completed well inside four days -- as it has been the case with most of the Sri Lanka Tests this season.