Captain Masakadza hit 71 off 42 balls with four fours and five sixes as Zimbabwe reached a target of 156 with three balls to spare.
The hosts will face Afghanistan in the final on Tuesday in Dhaka, while Zimbabwe will finish their campaign against the same opponents on Friday.
Soumya faced criticism for his poor outings in the tournament so far, having scored just four runs in two innings including a duck.
Nabi hit an unbeaten 84 off 54 balls under pressure to guide Afghanistan to 164-6 before Mujeeb claimed a career-best 4-15.
"We have so many good players at the moment and we just need guys to jump out the box and be a lot more consistent."
Najibullah Zadran hit a blistering half-century as Afghanistan beat Zimbabwe by 28 runs in their first match of the tri-nation T20I tournament.
Afif, batting at number eight, hit eight fours and a six in his maiden international fifty that guided Bangladesh to 148-7 in 17.4 overs.
Tamim Iqbal continues to miss out after requesting a break from international cricket.
3 players who may have played their last PSL
Haider Ali talks about his comparison with Babar Azam and Virat Kohli
5 reasons why Pakistan lost semifinal against India in ICC WorldCup 2011
Umar Akmal charged with two breaches of PCB Anti-Corruption Code
Pakistan players allowed to take part in four leagues including PSL
Brad Hogg reflects on PSL v IPL debate
PCB confirms all tests COVID-19 tests of players and staff negative
PCB confirms COVID-19 tests on PSL players, support personnel come out negative
3 possible windows for PCB to resume remaining HBL PSL V
PCB converts Karachi high performance centre into living area for paramedics