Aftab struck four sixes in his unbeaten 69-ball 58 as Bangladesh passed Zimbabwe's modest total of 146 with 17.4 overs to spare for a 4-0 lead in the five-match series on Friday.
Aftab put on 85 in an unbeaten third-wicket partnership with Saqibul Hasan (31 not out) after Zimbabwean seamer Gary Brent had removed openers Shahriar Nafees (34) and Mehrab Hossain (13) in three overs.
However, Zimbabwe failed to put pressure on the hosts as Aftab and Hasan batted confidently against both spinners and seamers. Aftab hit three fours in his ninth half-century in one-day internationals.
The tourists earlier failed to cope with Bangladesh's pace-spin combination after being put in to bat.
Fast bowler Mortaza finished with 3-14 off 6.2 sharp overs to ensure his team did not chase a stiff target.
He was backed by fellow paceman Shahadat Hossain and left-arm spinners Abdur Razzak and Hasan, who grabbed two wickets apiece as their team never allowed Zimbabwe to build a noteworthy partnership.
Elton Chigumbura and Keith Dabengwa each made 32. Skipper Prosper Utseya (21), debutant Tino Mawoyo (14) and Hamilton Masakadza (13) were the other batsmen to reach double figures in a dismal Zimbabwean batting performance.
Zimbabwe 146 all out in 47.2 overs (Chigumbura 32, Dabengwa 32; Mortaza 3 for 14, Saqibul 2 for 32, Razzak 2 for 27) lost to Bangladesh 147 for 2 in 32.2 overs(Aftab ahmed 58 n o, Saqibul 31 n o, Shahriar Nafees 34; Brent 2 for 25)