Captain Mushfiqur Rahim struck an unbeaten 70 on Monday as Bangladesh batted doggedly to reach 256-5 in its second innings on day four as it faced an uphill battle to save the first Test against the West Indies at Arnos Vale Sports Complex.
The tourists, forced to follow on after trailing by 302 on first innings, also got solid contributions from Mahmudullah (66) and opener Tamim Iqbal (53) as they batted through the day to reduce the deficit to 46.
Mushfiqur rode his luck at times to strike eight fours off 193 balls in just over four hours. He shared a resolute fifth-wicket stand of 130 with Mahmudullah, who hit seven fours and a six off 151 deliveries.
Earlier, left-hander Tamim belted four fours and three sixes in hit 107-ball knock.
Fast bowler Kemar Roach led the hosts with 2-39 while left-arm spinner Sulieman Benn followed his five-wicket haul in the first innings with 2-44.
The visitors received an early setback when Roach claimed Shamsur Rahman (4) to an edge through the wicket-keeper and skipper Denesh Ramdin at 11-1.
But Tamim and fellow left-hander Imrul Kayes (25) rebuilt strongly in a second wicket stand of 70 in an hour and a half.
Tamim, who was given out lbw in the first over from Jerome Taylor but successfully got the decision overturned on DRS review, emerged to play some glorious strokes.
Kayes was scratchy early on but also found his touch before gifting Chris Gayle his first Test wicket since June 2010 by lofting the off-spinner head high to extra cover.
Bangladesh slumped swiftly after that wicket with Benn claiming the scalps of first innings top-scorer Mominul Haque, to a thin edge to Ramdin, and Tamim, bowled as he tried to force off the back foot.
But the tourists rallied in the second session as Mahmudullah and Mushfiqur lifted the innings from the gloom of 107-4.
The West Indies let both batsmen off the hook during the assured partnership with Mushfiqur surviving two chances and Mahmudullah benefitting from an embarrassing miss.
Mushfiqur's first slice of luck came when he was 10 and Gayle grassed a regulation slip catch off Roach and the skipper was also let off on 25 when Darren Bravo at gully could not pouch a difficult catch to his right off Jerome Taylor.
Mahmudullah was 53 when his ugly swipe at Gayle's first ball of a spell skied to extra cover where Kirk Edwards inexplicably floored the offering.
The hosts eventually managed to break the worrying stand when Roach returned with the second new ball to claim an inside edge from Mahmudullah. Captain and wicket-keeper Denesh Ramdin snared the chance.
Mushfiqur also resisted a painful blow to his right middle finger to reach the close in sight of a third test century.
But the visitors still face an uphill task to save the match, trailing by 46 with an entire day remaining.