Chasing 198, Zimbabwe managed to score 169 runs for 7 wickets.
Ragis Chakabva was unbeaten at 42. Brendon Taylor made 27 runs.
Afghanistan captain Rashid Khan and Fareed Malik captured two wickets each.
Earlier, Afghanistan scored 197 runs in 20 overs.
Najibullah Zadran was the best of the Afghan batsmen scoring unbeaten 69 runs off just 30 balls.
Rahmanullah Gurbaz made 43 off 21 and Nabi played an innings of 38 off 18 balls.
Zimbabwe started the series with a 3-wicket defeat to host Bangladesh.
Najibulla Zadran was declared Man of the Match for his brilliant batting.