Debutant Kyle Mayers scored an epic 210 not out, taking the West Indies home in a remarkable chase of 395 in Chittagong, the fifth-highest successful run chase in the history of the game.
Resuming the day on 110-3, Mayers and Bonners survived some tricky moments in the first hour of the game, with off-spinner Mehidy Hasan (3-92) and left-arm spinner Taijul Islam keeping it tight.
Mayers brought up his century off 177 balls, after getting an outside edge that flew past gully for his 13th boundary, Indian Express reported.
While Mayers decided to counterattack, Bonner chose to defend with his 79 coming off 242 balls, with 10 boundaries.
On Saturday, Bangladesh declared its second innings on 223-8 after skipper Mominul Haque struck his 10th test century.
Off-spinner Mehidy Hasan then continued his good recent form for Bangladesh taking three wickets to reduce the tourists to 110-3 at stumps on day four, still needing 285 runs to win or needing to bat at the final day to salvage a draw.
Bangladesh scored 430 in its first innings before gaining a 171-run lead after dismissing West Indies for 259 runs.