Having won nine of their last 12 matches chasing, the initiative was initially with reigning champions India - who had already beaten Pakistan by 124 runs earlier in the tournament - as they won the toss and chose to bowl first on what was otherwise a hot morning on a flat Oval pitch.
Pakistan, made to bat first for the first time in the tournament, racked up a final-record innings of 338-4, founded on a 128-run opening stand between Fakhar Zaman, who earned his maiden one-day global century with 114, and Azhar Ali, whom Fakhar ran out on 59.
Fakhar hit 12 fours and three sixes before skying a catch off Hardik Pandya but Pakistan, who upset hosts England in the semifinals, had the ideal platform to make the highest total in a Champions Trophy final.
Left-arm fast bowler Amir, whose career was nearly ended on the other side of London's River Thames by a ban and jail term he received for his part in a spot-fixing scam during a 2010 Test against England at Lord's, finished with three for 16.
Former sailor Fakhar Zaman pushed the boat out to score a brilliant century for Pakistan in the Champions Trophy Final - only five years after his first official 50-over match.
He complimented his figures of 2/53 with a valuable unbeaten 28 in an eighth-wicket partnership with skipper Sarfraz Ahmed that sealed a semi-final place for Pakistan.
The prime minister further said the Pakistani team proved to be one of the best cricket teams in the world.
"Amir bowled brilliantly today but all my bowlers bowled really well".
India's lineup remained unchanged for the match, whereas Pakistan replaced Rumman Raees with Muhammad Amir.
"Rohit, Dhawan and Kohli have been in tremendous form so I was looking for early wickets - and I did it", said Amir.
"I want to congratulate Pakistan, they had an awesome tournament, the way they turned things around, speak volumes for the talent they have".
Before and after getting India's MVP, Amir had struck two vital blows.
It was Pakistan's first global 50-over title since the 1992 World Cup and a sweet moment for a team who have been unable to host worldwide cricket in recent years due to security concerns.
The last few overs saw Hafeez thrashing Indian bowlers all around the park.
After Fakhar caused Azhar to be run out on 59, he took out his frustration on India, notably spinners Ravichandran Ashwin and Jadeja. Indians couldn't restrict the Pakistan batting within a minimal score.
However, the Pakistani opener did not waste the chance and scored 114 runs in his 106-ball knock. Fakhar was out to a nice catch on the run by Jadeja behind square.
Babar came out of the opener's shadows - but after Shoaib Malik and he holed out in the off-side deep, Hafeez (57 not out) hit four fours and three sixes to power well past the 300 benchmark required against India's powerhouse batting line-up in these run-fest conditions.