Brendan Taylor's second century of the match was in vain as Mehidy Hasan spun Bangladesh to a 218-run win over Zimbabwe and a 1-1 series draw in Dhaka.
Taylor made two hundreds in a Test for the second time in his career, but was left stranded on 106 when the tourists were dismissed for 224 on day five.
Mehidy took 5-38 - his fifth five-wicket Test haul - as Zimbabwe lost their last five wickets for 38 runs, leaving Taylor unbeaten after scoring a defiant 106 to equal Andy Flower's tally of 16 centuries for Zimbabwe.
Peter Moor offered some support, but Mehidy ran through the tail to seal victory in the second session at the Shere Bangla National Stadium, where Mushfiqur Rahim was named Man of the Match for his record 219 not out.
Mustafizur Rahman got the breakthrough after Zimbabwe resumed on 76-2, cleaning up Sean Williams (13) in the ninth over of the day and Sikandar Raza (12) followed caught and bowled by Taijul Islam (2-93).
Taylor and Moor combined for a 139-run stand in the first innings and frustrated the Tigers again, occupying the crease with patience to give Zimbabwe hope of clinging on for a draw.
The excellent Taylor reached a 95-ball half-century before lunch, but Mehidy struck again after the interval, reducing Hamilton Masakadza's side to 186-5 when Moor was caught at short leg by Imrul Kayes.
Regis Chakabva was run out attempting an ill-advised single and although Taylor reached three figures by taking a positive approach to Taijul, Mehidy took three quick wickets to secure victory, with Tendai Chatara unable to bat.