Cardiff - Pakistan took a giant stride towards the semi-finals of the Champions Trophy after Sri Lanka collapsed to 236 all out in the Asian rivals' must-win group match at Cardiff on Monday.
Both sides needed a victory to join already qualified title-holders India from Group B in the last four of a tournament featuring the world's top eight one-day international sides, with the losers knocked out.
Sri Lanka, sent in to bat, were making steady progress at 161 for three while top-scorers Niroshan Dickwella (73) and skipper Angelo Mathews (39) were at the crease.
But the loss of Mathews sparked a middle-order collapse that saw four wickets lost for just six runs as Sri Lanka slumped to 167 for seven.
Only same late tail-order hitting, with the last three wickets adding 69 runs, got Sri Lanka past 200 in an innings where Pakistan pacemen Junaid Khan (three for 40) and Hasan Ali (three for 43) did the bulk of the damage.
But with 300 now a par score in ODI cricket, Sri Lanka knew it would take something special in the field to deny Pakistan a likely semi-final against tournament hosts England in Cardiff on Wednesday.
Prior to their middle-order slup, Sri Lanka lost two wickets for one run to be 83 for three.
Hasan, as he'd done while taking three wickets in Pakistan's surprise win over South Africa, went wide of the crease to bowl Kusal Mendis (27) with a brilliant delivery angled towards the legside that cut away and clipped the top of off stump.
Two balls later, medium-pacer Fahim Ashraf struck on his ODI debut when Dinesh Chandimal played on for a duck.
Mathews helped staunch the flow of wickets while keeping the scoreboard ticking over as Dickwella dug in.
All-rounder Mathews, fresh from an unbeaten fifty in Sri Lanka's shock seven-wicket victory over India, drove off-spinner Mohammad Hafeez for six, while Dickwella ended a sequence of 54 balls without a boundary by cover-driving left-arm spinner Imad Wasim for four.
Mathews, however, fell when an inside edge off Mohammad Amir gave the elated left-arm paceman his first wicket of the tournament.
Dhananjaya de Silva, only recently arrived as a replacement for the injured Kusal Perera, managed just one before, squared up by Junaid, he edged to Pakistan's wicket-keeper captain Sarfraz Ahmed.
At 162 for five, much now rested on Dickwella.
But he fell without another run on the board when a low inside edge off Amir was brilliantly held one-handed by a diving Sarfraz to end an 86-ball vigil.
And when Junaid had Thisara Perera well taken at slip by Babar Azam, Sri Lanka were 167 for seven off 35 overs.
Asela Gunaratne, dropped on two when Sarfraz lost control of a diving chance off Amir, chipped in with 27 before Ashraf (two for 37) ended the innings with four balls to spare when he caught and bowled Nuwan Pradeep.