Sylhet - Spinner Taijul Islam grabbed four wickets before lunch on Sunday's second day to finish with 6 for 108 as Bangladesh bowled out Zimbabwe for 282 in the first Test.
Overnight batsman Peter Moor was left not out 63 with Taijul wreaking havoc at the other end to wrap up the visitors' first innings shortly before the interval at the Sylhet International Cricket Stadium.
Resuming on 236 for 5, Zimbabwe remained unscathed for nearly an hour but lost their remaining wickets in a rush after left-arm spinner Taijul broke through the resistance of Regis Chakabva (28).
A brilliant reflex catch by Nazmul Hossain at short leg broke Chakabva's 60-run partnership with Moor for the sixth wicket.
Taijul, who had claimed two wickets on the first day, then removed Wellington Masakadza, who was caught behind for five, and Kyle Jarvis for four to complete his fourth five-wicket haul in Tests.
Fellow left-arm spinner Nazmul Islam trapped Brandon Mavuta leg-before for three to hasten Zimbabwe's collapse.
Taijul also claimed the final wicket of Tendai Chatara, who was caught by Liton Das at slip.
Moor, unbeaten on 37 overnight, was left stranded after making his fourth Test fifty and first overseas. His half-century came off 192 balls with the help of six boundaries.
Bangladesh openers Liton Das and Imrul Kayes safely negotiated one over to be 2-0 at lunch.