Wesley Madhevere, who had top-scored in the first T20I with an unbeaten 67, then threw his wicket away in the same over, giving a simple catch to Mahedi Hasan at cover to depart for four.
Mosaddek then reduced Zimbabwe to 6-3 by getting Craig Ervine caught at slip. Sean Williams was Mosaddek’s next victim, this time the bowler both inducing and completing the catch.
The 26-year-old completed his fifer thanks to Hasan Mahmud, who took a diving catch to remove Milton Shumba for three.
Mosaddek is now the fourth Bangladeshi bowler after Elias Sunny, Mustafizur Rahman and Shakib Al Hasan to take five wickets in a T20I.
From 31-5 after 6.5 overs, Raza and Ryan Burl got together and formed an 80-run partnership for the sixth wicket to give the Zimbabwean total some respectability.
The partnership finally ended when Hasan Mahmud rattled the stumps of Burl to dismiss him for 32 off 31 balls.
Raza, after making 62 off 52 balls, departed the following over when he got caught at cover by Munim Shahriar off Mustafizur Rahman.
Luke Jongwe (11 off five balls) struck a six to take 11 runs in the final over as the score tricked over the 130-mark.
Earlier, Bangladesh had made two changes in their playing XI, dropping Taskin Ahmed and Nasum Ahmed for Hasan Mahmud and Mahedi Hasan respectively.