Zafar scored an invaluable 37 not out and Amad chipped in with 26 not out as Pakistan returned from 142 for seven in pursuit of a 205-run target to achieve a memorable victory with five balls to spare.
Pakistan, winner in 2004 and 2006, had needed 36 from the last five overs, then 12 runs off 12 balls and finally four runs off the last over.
While the victory has kept Pakistan on course for its third ICC U19 Cricket World Cup title, it was a heart-breaking result for England which had come agonising close to its first final since winning the title in 1998.
Pakistan, in its run-chase, had failed to capitalise from another solid 41-run start from Sami Aslam (18) and Imam-ul-Haq (28) when it was reduced to 57 for four.
Saud Shakeel (45) and Ameer Hamza (35) took the score to 131 before the two, as well as wicketkeeper Saifullah Khan, fell victim to over-adventurous shots to leave Pakistan reeling at 142 for seven in 37 overs.
For Pakistan, wrist spinner Karamat Ali finished as the pick of the bowlers with two for 36 while fast bowlers Amad Butt and Zia-ul-Haq equally shared four wickets between them conceding 43 and 46 runs, respectively.
England: 204/7 in 50 overs (Will Rhodes 76 not out, Ryan Higgins 52; Karamat Ali 2-36, Amad Butt 2-43, Zia-ul-Haq 2-46)
Pakistan: 205/7 in 49.1 overs (Saud Shakeel 45, Zafar Gohar 37 not out; Matthew Fisher 2-21).
