Pakistan booked their place in the Champions Trophy final with a crushing eight-wicket win over England in Cardiff on Wednesday.
Set just 212 to win, Pakistan finished on 215 for two.
Pakistan will now face title-holders India in Sunday's final at the Oval if their arch-rivals beat Bangladesh in Thursday's second semi-final at Edgbaston.
Azhar Ali (76) and Fakhar Zaman (57) all but ended previously unbeaten tournament hosts England's slim hopes of victory with an opening stand of 118.
But the real damage was done when England collapsed to 211 all out after Pakistan captain Sarfraz Ahmed sent them in to bat on a used pitch.
Paceman Hasan Ali led a disciplined attack with a superb return of three for 35 from his maximum 10 overs.
Pakistan's openers then compounded England's misery to the delight of their supporters at a sun-drenched Cardiff.
Left-hander Fakhar hit a six -- something England didn't manage in their entire innings -- when a top-edge off fast bowler Mark Wood flew safe.
The dashing Fakhar completed a 49-ball fifty to follow his 50 against Sri Lanka.
Azhar, who pulled all-rounder Ben Stokes for six, followed him to the landmark in 68 balls.
On a Cardiff ground where they chased more than 300 to beat England in an one-day international last year, Pakistan completed Wednesday's pursuit with a mammoth 77 balls to spare when Mohammad Hafeez pulled Ben Stokes for four.
England did avoid a 10-wicket defeat when Jos Buttler stumped Fakhar off leg-spinner Adil Rashid and Azhar too fell before the finish, pulling Jake Ball into his stumps.
But Pakistan had the game all but won at 173 for two.
England didn't manage a single individual fifty in their innings.
Joe Root top-scored with 46 and Yorkshire team-mate Jonny Bairstow, recalled in place of dropped opener Jason Roy, managed 43.
Rumman Raees, in for injured fellow left-arm quick Mohammad Amir, took two for 44 on his ODI debut.
England, who were 128 for two, lost their last eight wickets for just 83 runs.
Pakistan had collapsed to 162 for seven chasing 237 against Sri Lanka but, two days on, there was no repeat of that batting slump.
Bairstow replaced Roy after the Surrey opener had managed just 51 runs in eight ODI innings this season.
Yet Bairstow, opening for the first time in ODI cricket, had a narrow lbw escape second ball and was dropped on 27 and 42.
Raees, denied the wicket of Alex Hales on an lbw review, got his man for 13 when the opener sliced a drive to extra-cover.
Bairstow's luck ran out when a misjudged pull off Hasan's third ball sailed gently to Hafeez at deep square leg.
Root fell when well set after an edged cut off leg-spinner Shadab Khan was well held by wicket-keeper Sarfraz.
England captain Eoin Morgan, who made 87 in a win against Australia last time out, fell for 19 when he charged down the pitch to a wide ball from Hasan and edged behind.