Zimbabwe gave themselves a chance of securing a draw in their Twenty20 international series with Bangladesh following a 31-run win in Khulna.
Having lost the first two matches, the tourists defended 187 for six to ensure all is to play for in the final match at the same venue on Friday.
Max Waller smashed two fours and four sixes in a brutal knock of 49 off just 23 balls, dominating a fourth-wicket stand of 74 with Sean Williams, after Vusi Sibanda struck 44 from the top of the order.
Although Sabbir Rahman’s fine form continued with 50 off 32 balls, Zimbabwe’s spinners came to the fore as they combined to take six wickets for 40 runs in 10 overs.
Graeme Cremer returned 3-18, Sikandar Raza claimed 2-7 and Tendai Chisoro took 1-15.
Nurul Hasan struck five late boundaries in an unbeaten 30 off 17 balls but the Tigers were restricted to 156 for six.