This was Kohli's 50th worldwide hundred - 18th in Tests, 11th as skipper, and the first at the hallowed ground.
Mohammed Shami then had left-hander Lahiru Thirimanne bowled for one as the visitors slipped to 2-2 in 3.3 overs.
The 27-year-old was named man of the match after taking eight wickets, including figures of 4-8 in the second innings.
Lakmal and Dasun Shanaka picked up three wickets apiece, while Lahiru Gamage and Dilruwan Perera chipped in with one wicket each.
Sri Lanka were 62 for four when Dickwella took his time-wasting tactics too far and left Kohli fuming. "It's very clear that we're preparing for the next two years that we're going to travel abroad and play a lot of cricket overseas, and we are going to find wickets like this, and it is going to be challenging for all of us, so we wanted to prepare in that way", Rahul said.
Only 32.5 overs were possible on the first two days before the weather cleared for the final three.
Slip of the Tongue: New Zealand PM Sorry for Trump Gossip
Trump repeated his joke, to which the New Zealand PM swiftly replied, " You know, no one marched when I was elected ". I think I should never have recounted the story'.
That India were playing for the win at the end was a huge turnaround after being bowled out for 172 in their first innings and seeing Sri Lanka take a 122-run first-innings lead.
"I'm really happy that Rangana scored the runs but unfortunately spinners didn't come into play".
Kumar and opening batsman Shikhar Dhawan later pulled out of India's Test team for the second match against Sri Lanka due to personal reasons, the country's cricket board said. "We'll have to learn to bat in the second innings", said Chandimal. According to media reports, the engagement ceremony took place in Greater Noida.
"The BCCI would like to inform that Bhuvneshwar Kumar and Shikhar Dhawan have been released from India's Test team".
After ending the first Test in a hard-fought draw, Virat Kohli and co will travel to Nagpur, as they get ready to face the Lankans in the second Test, starting on Friday.