Zimbabwe skipper Craig Ervine scored a dogged century but off-spinner Nayeem Hasan picked up four wickets to pull things back for Bangladesh on the opening day of the one-off Test in Dhaka.
Chasing a Duckworth-Lewis revised target of 219 in 31 overs, Zimbabwe rode on Ervine's 55-ball unbeaten knock to win with 10 balls to spare.
With Shai Hope scoring 101 in just his second ODI, the West Indies were well on track to overhaul the Zimbabwe' 257 all out, until his dismissal sparked a late collapse
Craig Ervine made the most of the early life granted to him to score an unbeaten 115, taking Zimbabwe to stumps on 305 for six - just 78 runs shy of avoiding the follow-on vs New Zealand in the second Test
Craig Ervine's innings of 101 not out featured nine fours and two sixes and he shared a 98-run third wicket partnership with Sean Williams as Zimbabwe hunted down their 269 winning target with nine balls to spare.
Sikander Raza hit an unbeaten half-century as hosts Zimbabwe chased down the target of 220 with six balls to spare.
Craig Ervine and Hamilton Masakadza set up Zimbabwe's second-highest successful ODI chase of all time against New Zealand in Harare on Sunday. Ross Taylor's century went in vain for the Kiwis.