Opener Kieran Powell smashed a century in each innings before Bangladesh captured late wickets to keep hopes of an unlikely result in the first Test in Dhaka yesterday.
The 22-year-old right-handed batsman scored 110 for his second century of the match to anchor his team to 244-6 at close on Day Four, leading by 215 runs and setting up an intriguing fifth and final day.
In the morning, Bangladesh were dismissed for 556 runs in their first innings, taking a slender 29-run lead over the West Indies first knock of 527-4 declared.
Powell, who made 117 in the first innings, batted with resolve and authority and added 189 runs for the second wicket with Darren Bravo who made 76.
But left-arm spinner Shakib Al Hasan dismissed Powell and Denesh Ramdin for five and debutant Sohag Gazi took two wickets to stop the West Indian run flow sparked by Powell and Bravo.
Their stand is a new record for the second wicket against Bangladesh, beating the previous stand of 87 was between Chris Gayle and Ramnaresh Sarwan at Gros Islet in 2004.
Here Gayle failed again, scoring only 19 before falling to paceman Rubel Hossain. Bangladesh could have dismissed Powell early but Junaid Siddique dropped a straight-forward catch off paceman Shahadat Hossain.
Photos: Salman Khan returns from Jodhpur to Mumbai
Pics: Sidharth Shukla-Rashami Desai's sizzling chemistry at TV show launch
Ooh La Lana! WWE Diva flaunts sexy curves in these 30 pictures
15 'peach' perfect photos of Priyanka Chopra at People's Choice Awards 2017
62 going on 16: These photos of Rekha prove she is 'forever young'