Resolute Sri Lankan batting and wet weather frustrated Pakistan's bid to drive home the advantage on the third day of the second Test in Colombo on Monday.
The tourists, who declared their first innings at 551-6, dismissed opener Tharanga Paranavitana for zero before the hosts recovered to post 70-1 by stumps at the Sinhalese Sports Club.
The experienced duo of Tillakaratne Dilshan and Kumar Sangakkara led the revival by adding 59 runs for the second wicket on a pitch that continued to assist batsmen.
Dilshan was unbeaten on 46 with nine hits to the fence and Sangakkara was on 22.
Just 27 overs of the stipulated 90 were bowled during the day as rain washed out play in the last two sessions. The second day had also seen only 44 overs sent down.
With more rain forecast over the next two days, the match appeared headed for a draw with Sri Lanka set to retain their lead in the three-match series after winning the first Test in Galle by 209 runs.
A fired-up Pakistan attack were rewarded with the breakthrough in the fourth over when left-handed Paranavitana was snapped up at short-leg by Azhar Ali off Junaid Khan.
But Dilshan and Sangakkara, who both scored centuries in Galle, settled down to deny the tourists further success.
Pakistan, who resumed on the overnight score of 488-4, batted for an hour before skipper Misbah-ul Haq declared the innings.
Misbah himself remained unbeaten on 66 after Asad Shafiq was run out for two and Adnan Akmal was caught in the covers to give left-arm spinner Rangana Herath his third wicket in the innings.
Pakistan's innings had revolved around a second-wicket stand of 287 between Mohammad Hafeez (196) and Azhar Ali (157), the highest partnership by a visiting team on Sri Lankan soil.
The third Test will be played in Pallekele from July 8.