Published: 2017-06-18 16:01:47 BdST
Fakhar capitalised on a lucky escape to strike a superb 114 and lift Pakistan to a commanding total of 338 for four and fast bowler Mohammad Amir ripped out India's top three batsmen before the former champions subsided to 158 all out.
Pakistan had come into the tournament as the lowest-ranked team and lost heavily to India in their opening group match but they beat South Africa and Sri Lanka to make the semi-finals where they knocked out hosts England.
"Fakhar is a great impact player, he played like a champion batsman today," Pakistan captain Sarfraz Ahmed said at the presentation ceremony.
"Amir bowled brilliantly today but all my bowlers bowled really well. We have a young team and credit to my boys."
After India had won the toss, Fakhar, on three, was caught by wicketkeeper Mahehdra Singh Dhoni off a Jasprit Bumrah no-ball and the 27-year-old left-hander took full advantage to make his first international century.
Azhar also continued his fine form, reaching fifty off 61 balls before he was run out following a mix-up with his partner.
He celebrated with an extravagant twirl of his bat and kissed the turf as the Pakistan supporters sensed an unlikely win.
Fakhar hit 12 fours and three sixes before skying a catch off Hardik Pandya but Pakistan had the perfect platform to make the highest total in a Champions Trophy final.
Babar Azam chipped in with a solid 46 and Mohammad Hafeez struck three sixes in a punchy unbeaten 57 that left India needing to produce the highest successful run chase in the tournament's history to lift the trophy for the third time.
He trapped Rohit Sharma lbw for nought with a swinging delivery and removed India talisman Virat Kohli with another fine ball which the captain could only edge to point for five.
Their hopes now rested largely on the shoulders of Shikhar Dhawan who had been in fine form in the tournament but he made only 21 before nicking the inspired Amir to wicketkeeper Sarfraz Ahmed.
Spinner Shadab Khan snared Yuvraj Singh lbw for 22 and Dhoni, India's former captain who has saved the team on many occasions, pulled Hasan Ali to Imad Wasim at deep square leg to depart for four.
Shadab picked up his second wicket when Kedar Jadhav, on nine, gave Sarfraz a simple catch and India appeared to be crumbling meekly at 72 for six.
Jadeja nicked Junaid Khan to slip for 15, Hasan had Ashwin caught by Sarfraz and Hasan forced Bumrah to lob another catch to the wicketkeeper, who pouched it gleefully to complete Pakistan's first Champions Trophy win with 19.3 overs to spare.
"Early wickets are never good, especially in a chase. We thought one big partnership would have set it up nicely," Kohli said.
"Pakistan had to earn their win and they made us make mistakes. We have no hesitation or shame to admit we didn't play our best game today."
Pakistan: 338/4 in 50 overs (Azhar 59, Zaman 114, Babar 46, Malik 12, Hafeez 57, Wasim 25; Bhvneshwar 1/44, Bumrah 0/68, Ashwin 0/70, Pandya 1/53, Jadeja 0/67, Jadhav 1/27).
India: 158 all out in 30.3 overs (Rohit 0, Dhawan 21, Kohli 5, Dhoni 4, Yuvraj 22, Jadhav 9, Pandya 76, Jadeja 15, Ashwin 15, Ashwin 1, Bhuvneshwar 1*, Bumrah 1; Amir 3/16, Junaid 1/20, Hafeez 0/13, Hasan 3/19, Shadab 2/60, Wasin 0/3, Zaman 0/25).
Result: Pakistan beat India by 180 runs.
Tournament result: Pakistan win 2017 Champions Trophy.
Man of the Match: Fakhar Zaman.
Man of the Tournament: Hasan Ali.