Aniket Parikh's all-round display of 48 and two for 20 went in vain as the Afghans bowled out New Zealand for 135 and then raced home in the 28th over.
Tariq Stanikzai scored 50 and captain Ihsanullah Janat made 47 as Afghanistan set up the Plate final against Zimbabwe in Cox's Bazar on February 12.
"I think we have done well to reach the Plate final and hope the team continues to play good cricket in the final also," said Ihsanullah.
Hasan Mohsin hit 117 and took four for 42 as Pakistan made 258 for eight after being asked to bat, and then bowled Nepal out for 136.