Sri Lanka's fast-bowlers exploited Pakistan's weakness against seam bowling by dismissing them for 165 to take control of the second Test on the first day.
Sri Lanka was 57-1 at stumps, trailing by only 108 runs when umpires called off the play due to bad light eight overs before the scheduled close.
Dimuth Karunaratne hit seven fours in a quickfire 32 before he fell to Junaid Khan but Kaushal Silva and Kumar Sangakkara guided Sri Lanka to stumps, both on 12.
Nuwan Pradeep, with only three wickets in his last four Tests, led the attack and took 3-62 with excellent backup from Shaminda Eranga (2-25), and Suranga Lakmal, 2-45, after captain Angelo Mathews won the toss.
Pakistan opener Khurram Manzoor stood out with a gritty 73 in three-and-a-half hours before he succumbed in a sensational collapse, as Pakistan lost eight wickets for 58 runs.
Pakistan first innings 165
Sri Lanka first innings
D Karunaratne lbw b Junaid 32
K Silva not out 12
K Sangakkara not out 12
Extras: (lb 1) 1
Total: (1 wicket; 16 overs) 57
Fall of wickets: 1-40
Paksitan's collapse justified Sri Lanka's choice to go with three fast-bowlers and dropping offspinner Sachithra Senanayake after the pitch was left under cover due to rain on Tuesday and retained enough moisture in it for the fast-bowlers.
The signs of seam movement were ominous when opening batsman Ahmed Shehzad should have been dismissed in the fifth over for nought but was dropped by Mathews in the slips off Lakmal.
But it did not matter much as Pradeep in his third over brought one sharply into Shehzad and had him plumb leg before wicket for three.
Pradeep could have had Mohammad Hafeez the next ball but Mahela Jayawardene could not hold onto a sharp low chance in the slips as Pakistan reached 57-1 at lunch.
Manzoor and Hafeez added 50 runs for the second wicket, and in a brief counterattack hit five boundaries after lunch.
Manzoor hit three fours in Pradeep's first over after the break and Hafeez pulled and cut Rangana Herath for two boundaries in the next.
But Hafeez was undone by a sharp Pradeep inswinger and was clean bowled for 21 at 78-2.
Pakistan's two century-makers in the drawn first Test - Younus Khan (13) and captain Misbah-ul-Haq (one) - also could not negotiate the sharp swing of Eranga, who had both of them caught behind within seven deliveries.
Lakmal left Pakistan in deep trouble just before tea when he found the outside edge of Manzoor and forced Asad Shafiq to drive uppishly into the safe hands of Silva at covers for six.
Pradeep yet again missed out on his fourth scalp in the last over before tea when Karunaratne floored Bilawal Bhatti before he scored as Pakistan limped to 128-6 at tea.
Herath folded the innings quickly by claiming the last three wickets after the break as Bhatti remained unbeaten on 24 with three fours and a top-edged six.
Pakistan persisted with left-arm seamer Rahat Ali, who despite finishing wicketless in the first drawn test, got the nod ahead of left-arm spinner Abdul Rehman.
Ali bowled too short of length and gave away 28 runs as Karunaratne dominated the first-wicket stand before he was trapped lbw by Junaid.