Keegan Meth took the first two wickets to fall this morning while Masakadza picked up another three scalps to leave Bangladesh struggling to avoid the follow-on as they went to lunch on 134 for six - 255 runs adrift of Zimbabwe's first innings score.
They failed to add another run to their total, with Jarvis (four for 40) taking three wickets, while Masakadza finished with figures of four for 32 when Sohag Gazi carelessly chipped to midwicket.
Resuming on 95 for one, Jahurul Islam added just five runs to his overnight 38 before he became Meth's first Test wicket when he played down the wrong line and was adjudged lbw.
The tourists progressed to 112 for two but Mahmudullah inside edged Meth onto his stumps before Shakib Al Hasan was surprised by a Masakadza bouncer and could only fend to Vusi Sibanda at gully.
Masakadza would have his second wicket of the over two balls later when Mohammad Ashraful, on 38, senselessly pulled the seamer to Malcolm Waller at deep midwicket.
The Tigers' attempts to rebuild were then dealt a massive blow when captain Mushfiqur Rahim fell off the final delivery before the lunch interval.
It was to get much worse for Bangladesh after the interval, the rot starting when Nasir Hossain edged behind off Jarvis, who bowled Enamul Haque jnr in the same over.
Rubel Hossain departed in the same fashion in Jarvis' next over before Masakadza put Bangladesh out of their misery by removing Sohag Gazi.