Batting first, Afghanistan rode on a 98-run stand between Nabi (52) and Samiullah Shenwari (43) to post 186 for six, a score which proved to be a winning total after Zimbabawe were shot out for 127 in 19.4 overs.
In-form opener Mohammad Shahzad provided a blazing start to the innings with a 23-ball 40 but his departure saw Afghanistan lose their way to 63 for four.
Medium-pacer Tinashe Panyangara grabbed three wickets to rattle the top-order after left-arm spinner Sean Williams got dangerman Shahzad back in the dugout.
Nabi, who registered his highest T20 score, and Shenwari then got together to turn things around in the knockout encounter, with some precise powerhitting.
The duo combined the right dose of caution and aggression and took a particular liking to medium-pacer Tendai Chatara and Donald Tiripano, whose economy-rates went for a toss.
“Very happy with my performance, especially in this main match and it was a tough game in the qualifying round,” said Nabi.
Zimbabwe, who remain winless against the Asghar Stanikzai-led side in five attempts, were never in the chase after losing their openers early.
Burdened by the increasing run-rate the Zimbabwe batting failed to get going with Sikandar Raza top-scoring with 15.
Leg-spinner Rashid Khan turned on the heat with a three-wicket haul as medium-pacer Hamid Hassan contributed with two scalps.
Ranked ninth in world T20 rankings, Afghanistan will now meet defending champions Sri Lanka, South Africa, England and West Indies in Group 1 of the Super 10s.