Bangladesh keeper collected the ball in front of the stumps leading to a no-ball call.
The Craig Ervine-led side kept Bangladesh, who batted first after winning the toss, to 150/7 with Najmul Hasan Shanto top-soring with 71 in 55 balls. Richard Ngarava and Blessing Muzarabani took two wickets each on the Brisbane pitch for Zimbabwe.
In reply, Taskin Ahmed and Mustafizur Rahman rattled the Zimbabwe top order to reduce them to 35/3. But 64 from Sean Williams and 27* from Ryan Burl kept Zimbabwe in the game as they needed 16 off the last 6 balls to win.
Mossadek picked the wicket of Brad Evans on the second ball, while the third went for four leg-byes. Richard Ngarava then hit a huge six but got out going for another one on the 5th ball of the over.
The last ball saw some huge drama, as Muzarabani failed to connect to a delivery from Hossain and Bangladesh players erupted into the joy of winning the match. But the on-field umpires went to the TV umpire to check whether Nurul Hasan had collected the ball in front of the stumps, which did happen and the ball was called a no-ball.
Here is the all the drama of an eventful last over: