Earlier, resuming at their overnight score of 154/5, Sri Lankan batsmen Angelo Mathews and Dilruwan Perera played sensible cricket to keep the Indian bowlers at bay and also got runs under their belt.
Then came the wicket of another left-hander, Niroshan Dickwella, who pressed forward but found himself nowhere near the pitch of the ball thanks to Ashwin's dip. But Ashwin ended his wait for the first wicket in the second innings by inducing an edge from Dickwella and then cleaned up a well-settled Karunaratne, who was nearing a well-deserved century, to bring India on the brink of wrapping the Test on the penultimate day.
Their fate was sealed soon after Karunaratne was clean bowled by Ravichandran Ashwin forshort of a deserving hundred as Sri Lanka's sixth wicket.
Trump, on Long Island, Vows an End to Gang Violence
Trump's controversial remarks-which indisputably promoted police brutality-were met with applause from the officers. They'll say that's not politically correct, you're not allowed to have rough people doing this kind of work.
It needed a smart review from India to break the partnership as Mendis (36, 71b, 3x4) nicked one off Jadeja, with Angelo Mathews (2, 10b) then gifting his wicket away with a terrible shot. But he survived and eventually settled, and Sri Lanka could breathe a little easier, particularly with Karunaratne looking calm and secure at the other end, taking the singles afforded him by Virat Kohli's puzzlingly defensive fields and picking up the odd boundary with the square-cut or flick.
Sri Lanka were reduced to 10 men within the first hour of the game itself after losing Asela Gunaratne to injury. "We managed to play without him and hopefully we will bounce back well in the second Test". But this wicket didn't have much help for spinners.
With this win India took 1-0 lead over Sri Lanka. Kohli scored his hundred in just 133 balls, in an innings that included of 5 fours and a six on Day Four of the first Test in Galle. It was a clinical performance by the Indian Team led by Virat Kohli.
It's Kohli's first three-figure score in Tests since a double-century against Bangladesh in February and comes after he averaged just 9.20 in the Border-Gavaskar series against Australia earlier this year.
Debutant Danushka Gunathilaka was out for two, hitting Umesh Yadav straight into the hands of Cheteshwar Pujara at square leg.