Pakistan were all out for 403 in their first innings, a lead of 164 over Sri Lanka, after the lower order batsmen fell to the spinners on the third day of the second test on Friday.
Left-arm spinner Rangana Herath struck twice in an over and captain Tillakaratne Dilshan picked up his third wicket as Pakistan lost four wickets in less than an hour after lunch.
Asad Shafiq (59) and wicketkeeper-batsman Adnan Akmal (41) added 70 for the seventh wicket to take Pakistan’s lead closer to the 150-run mark at the Dubai International Stadium.
Shafiq edged Dhammika Prasad to Mahela Jayawardene in the slips for the paceman’s third wicket of the innings and it paved the way for the spinners to force a mini collapse.
Earlier, left-arm paceman Chanaka Welegedara removed two batsmen early in the morning session to peg back the hosts.
He struck in the second over of the morning, luring Pakistan captain Misbah-ul Haq (41) to edge a loose drive into the hands of a tumbling Mahela Jayawardene at second slip.
Nightwatchman Saeed Ajmal (20), who was dropped by Angelo Mathews off Welegedara on 14, frustrated Sri Lanka during a 41-run stand with Shafiq for the sixth wicket.
Mathews made amends when a second edge from Ajmal flew to him at gully off the same bowler.