Kumar Sangakkara was left one run short of a double century as Sri Lanka took complete control on the second day of the first Test against Pakistan in Galle.
Sangakkara was undefeated on 199 out of the home side's total of 472, his hopes of reaching the landmark dashed as he ran out of partners.
But the visitors were rocked by the loss of early wickets in their reply and were reduced to 48 for five at the close and in danger of being forced to follow on.
Captain Mohammad Hafeez was top scorer with 20 and experienced batsman Younus Khan unbeaten on 15 as Pakistan trailed by 424 runs.
Sangakkara had seen Tillakaratne Dilshan hit a hundred on the opening day and also completed his own before adding more runs at a steadier rate on Saturday morning.
Saeed Ajmal claimed three wickets in the first session - including two in as many balls - as Pakistan fought back. The off-spinner continues to show why he is Pakistan's most potent bowler, deceiving the batsmen in flight throughout his stint.
Sangakkara and Sri Lanka captain Mahela Jayawardene had put on 128 for the third wicket before the 34-year-old made the breakthrough in the eighth over of the second day.
Sangakkara continued unabashed after Thilan Samaraweera and Angelo Mathews departed to steady the Sri Lanka innings, with Prasanna Jayawardene scoring 48 before he was caught behind off Hafeez.
When Rangana Herath and Nuwan Pradeep both fell for ducks, the latter taking Hafeez's haul to three wickets, Sangakkara was left one short of a double hundred.
But Pakistan's reply had only reached 17 when Taufeeq Umar went for nine and Azhar Ali was dismissed without further addition to the total. Younus and Mohammad Ayub (one) were the not-out batsmen who had taken the total to 48 by the close, after Kulasekara and Randiv claimed two wickets each.