Pakistan defeated New Zealand by six wickets as it easily chased the target of 144 runs set by New Zealand in 18.5 ours with loss of four wickets.
Mohammad Hafeez, Imran Nazir and Umar Gul by taking three wickets helped Pakistan beat New Zealand by six wickets with seven balls to spare.
Gul was not introduced until the 12th over at Newlands but quickly removed Scott Styris (18), Peter Fulton (10) and Jacob Oram (1) to restrict New Zealand to a modest 143 for eight after electing to bat first.
Pakistan were never behind the asking rate and remained in control throughout the run chase. Captain Shoaib Malik (26 not out) finished the contest in style by hammering off-spinner Jeetan Patel over mid-wicket for six.
Earlier, Ross Taylor top-scored for New Zealand with an unbeaten 37 from 23 balls. He smashed paceman Mohammed Asif for 17 in the final over.
Openers Brendan McCullum (26) and Lou Vincent (28) shared a 50-run opening stand before wickets started to fall on a regular basis.
Pakistan will meet India in Monday’s final.