At tea, Karunaratne was on 85, and Niroshan Dickwella was giving the opener company on 48.
The visitors still need another 358 runs with five wickets remaining.
Post lunch, Karunaratne and Kusal Mendis (36) continued their partnership for the third wicket. The two batsmen looked to play for time and cut out any aggressive strokes. They did capitalise on run-scoring opportunities, as this atypical Galle pitch didn't provide much support to the Indian spinners. In all, they put on 79 runs.
In that same over, Mendis survived a DRS review off R Ashwin (0-58) for caught behind as Ultra-Edge didn't show any deviation.
More From This Section
Four overs later, Mendis was caught behind off Ravindra Jadeja (2-42) as the DRS review was turned in India's favour, this time an edge clearly detected off the batsman. It became a double blow for Lanka thereafter as Angelo Mathews (2) was caught going for a wild slog at backward point off Jadeja again.
Earlier, Sri Lanka reached 85/2 at lunch. The hosts were set a mammoth target of 550 runs after India declared their second innings at 240/3 in 53 overs with skipper Virat Kohli (103 not out) scoring his 17th Test hundred.
Starting from overnight 189/3, Kohli and Ajinkya Rahane showed an eagerness to score runs.
It was obvious that the visitors were waiting for the captain to get to his landmark before putting Lanka into bat again. And to his credit Kohli didn't waste any time as he reached his hundred off 133 balls in the sixth over of the morning. Overall, Kohli faced 136 balls and hit five fours as well as a six.
Kohli and Rahane put on 51 runs for the 4th wicket. In doing so, they became the 14th pair to put up 2000-plus runs in Test cricket for India. Kohli also became the quickest captain to score 1000 overseas Test runs, reaching the mark in 17 innings. He improved Sachin Tendulkar's record of 19 innings.
Then, Karunaratne and Kusal Mendis came together, and the duo improved on their failures in the first innings to put up an improved show. They added 56 runs for the third wicket on a track that was still not offering enough assistance to the spinners and defied the Indian bowling for 17.2 overs.