Mahmudullah hit 62 from 41 balls as Bangladesh clinched a 39-run victory over Zimbabwe in Chattogram and secured their place in the T20 international tri-series final.
The all-rounder's knock helped Bangladesh post 175-7, after they had been inserted by Zimbabwe, and included five sixes.
Mahmudullah had support from wicketkeeper Mushfiqur Rahim (32), while opener Liton Das had earlier got the hosts of to a fine start with a 22-ball 38.
Kyle Jarvis finished as the pick of the Zimbabwe attack with 3-32 while fellow seamer Chris Mpofu’s two wickets came at the expense of 42 runs.
Zimbabwe's reply quickly hit the buffers. They were reduced to 8-3 before captain Hamilton Masakadza (25) steadied the ship.
He was one of only two batsmen in Zimbabwe's top six to make double figures as Mohammad Saifuddin (1-14), Shakib Al Hasan (1-28) and Shafiul Islam (3-36) impressed.
Richmond Mutumbami blasted 54 off 32 balls from number seven while Jarvis made a quickfire 27 as Zimbabwe's innings at least finished with a flourish.
However, Mustafizur Rahman polished off the tail with 2-38 as Zimbabwe, winless in the tournament, were bowled out for 136.