Sri Lanka, trailing Pakistan by 117 runs on the first innings, took their overnight score of 63-2 to 144-4 in their second knock by lunch at the Galle International Stadium.
The hosts lost nightwatchman Dilruwan Perera off the first ball of the day, clean bowled by leg-spinner Yasir Shah as he shouldered arms to a ball that dipped in after pitching.
The left-handed pair of Karunaratne and Lahiru Thirimanne (44) gave Sri Lanka the lead with a 69-run partnership for the fourth wicket.
But with the hosts 15 runs ahead, left-arm seamer Wahab Riaz had Thirimanne caught low at first slip by Younis Khan to keep the interest alive in the rain-hit Test.
Skipper Angelo Mathews was unbeaten on five, with Sri Lanka only 27 runs ahead and two sessions remaining in the first match of the three-Test series.
Bad weather had washed out the entire first day's play on Wednesday and just 64 overs were bowled on the second day due to a wet outfield.
The Tests will be followed by five one-day internationals and two Twenty20 matches.