Opener Kieran Powell became the ninth West Indian to score two centuries in the same Test but a late collapse boosted Bangladesh's hopes of an unlikely win in Mirpur.
Left-hander Powell reached triple figures for just the second time in his 12-Test career in the first innings and followed it up with 110 before he was dismissed shortly before stumps on day four.
Despite his heroics, five late wickets opened up a first Test that had looked destined for a draw on a placid pitch. The tourists closed on 244 for six - a lead of 215.
Bangladesh were earlier bowled out for 556 before lunch to give them a slender 29-run first-innings lead after they edged past the West Indies' 527 for four declared.
Powell played second fiddle to Shivnarine Chanderpaul in the first innings, when the veteran amassed an unbeaten 203, but the opener took centre stage on Friday.
The 22-year-old took 163 balls to reach his century, midway through the post-tea session, and in doing so become the first West Indian to post two centuries in the same Test since Brian Lara against Sri Lanka in 2001.
But he fell in the late crash as the tourists entertained ideas of quick runs to possibly leave Bangladesh with a tricky chase on Saturday.