They will now play the winners of Thursday's second semi-final between India and Bangladesh at Edgbaston in Sunday's final at the Oval.
Cardiff: Pakistan thrashed England by eight wickets in Cardiff on Wednesday to book their place in the Champions Trophy final. They will now play the winners of Thursday's second semi-final between India and Bangladesh at Edgbaston in Sunday's final at the Oval.
Set just 212 for victory, Pakistan finished on 215 for two, with Azhar Ali (76) and Fakhar Zaman (57) sharing an opening partnership of 118.
When Mohammad Hafeez pulled Ben Stokes for four, Pakistan had won with a whopping 77 balls left on their innings.
But the real damage was done in the field as Pakistan held tournament hosts England, the only side who won all their three group games, to just 211 all out.
Hasan Ali took three for 35 in an innings where England didn't manage a single six and none of their batsman made fifty after Pakistan captain Sarfraz Ahmed won the toss and sent them into bat on a used pitch.
England 211, 49.5 overs (Hasan Ali 3-35)
Pakistan 215-2, 37.1 overs (Azhar Ali 76, Fakhar Zaman 57)
Result: Pakistan won by eight wickets