Pallekele - Shan Masood and Younis Khan compiled unbeaten centuries to keep Pakistan in the hunt for a landmark victory in the series-deciding third and final Test against Sri Lanka on Monday.
Set a challenging target of 377 runs, the tourists recovered from a shaky 13/2 to move to 230 without further loss by stumps on the rain-free fourth day in Pallekele.
Masood, the five-Test old left-hander, was unbeaten on 114, having reached his maiden century by lofting off-spinner Tharindu Kaushal for a six over long-on towards the end of play.
Younis, who made his 100th Test appearance in the second match of the series, got to his 30th century in the day's last over. The pair have put on 217 so far for the third wicket with Younis on 101.
Pakistan will enter the final day's play on Tuesday needing a further 147 runs with eight wickets in hand on a wearing, but easy-paced pitch at the Pallekele International Stadium.
If Pakistan win, it will be the first time a visiting team will have scored more than 300 runs in the fourth innings to win a Test on Sri Lankan soil.
Pakistan's highest successful chase is 314 runs they made against Australia to win the Karachi Test way back in 1994.
Earlier, Sri Lanka's captain Angelo Mathews was last man out for 122 as the hosts took their overnight score of 228-5 to 313 before they were all out at the stroke of lunch.
Pakistan's fast bowler Imran Khan took all the five wickets that fell in the morning session in the space of 33 balls.
Mathews, who came in to bat on Sunday afternoon with his team reduced to 35-3, anchored the innings for more than six hours in which he hit 12 boundaries and a six.
Imran said he was delighted at his maiden five-wicket haul, but stressed it was a team effort that has got Pakistan this far in the match.
"We believed a turnaround was possible and we showed that today," he said. "We had made up our minds not to give up and take inspiration from our performance over the last few years.
"Shan and Younis were really good and I am confident they will bring us victory tomorrow."
Pakistan, starting their second innings after lunch, were dealt a blow before a run had been scored when seamer Suranga Lakmal bowled Ahmed Shehzad to claim his 50th Test wicket.
Sri Lanka struck again in the seventh over when Azhar Ali was caught down the leg-side by wicket-keeper Dinesh Chandimal off Dhammika Prasad for five.
Masood, on 79, was fortunate to survive a close shout for leg-before by Mathews, who asked for a review after on-field umpire Paul Reiffel had turned down the appeal.
Replays proved inconclusive whether the ball had hit the bat, but with both the Hot Spot and Snicko technologies not available in this series, the TV umpire gave the benefit of doubt to the batsman.
Chandimal said the Test was not out of Sri Lanka's reach yet.
"Look, a few wickets early tomorrow could change the game, so I am hopeful," he said. "All credit to the Pakistani batsmen for the way they have played, but tomorrow is a new day."
Pakistan won the first Test in Galle by 10 wickets and Sri Lanka took the second in Colombo by seven wickets.