After missing a succession of chances on the fourth day, the home side's fielders continued with their sloppy work before Musfiqur was last out for 116.
The tourists' captain was the prime beneficiary of the butter-fingered Caribbean cricketers in lifting his side to a second innings total of 314.
Needing just 13 runs for victory and a 1-0 lead in the two-match series, Chris Gayle and Kraigg Brathwaite, the "Man of the Match" for his first innings 212, knocked off the runs 40 minutes before the scheduled lunch interval.
That was effectively the end of the lower-order resistance with Roach trapping Shuvagata Hom leg-before and Gabriel dismissing Taijul Islam and Rubel Hossain for ducks in the space of three deliveries.
More From This Section
However Mushfiqur was able to reach his third Test century, a straight six off Roach taking him to the coveted landmark and an edged boundary between the wicketkeeper Denesh Ramdin and first slip Gayle allowing the visitors to avoid the humiliation of yet another innings defeat.
"Slip catching has been hampering us in the last two series and we need to correct that ahead of the next Test.