Shakib Al Hasan gifted his wicket on 97 to West Indies in a disappointing end to an otherwise remarkable Saturday for the all-rounder who became only the second bowler to take 100 test wickets for Bangladesh.
The stumps on the fourth day were drawn immediately after Shakib went, with Bangladesh on 226 for six wickets in their second innings of the second test and needing 35 to make West Indies bat again following the visitors' declaration on 648-9.
Shakib defied West Indies for more than three hours but just when he looked set for a well-deserved century he charged down left-arm spinner Veerasammy Permaul and was caught by Tino Best at mid off.
Shakib shared 144 runs with Nasir Hossain for the sixth wicket after a familiar Bangladesh batting collapse cost them their first five for 82 runs.
The left-armer had earlier taken four wickets to join Mohammad Rafique as the only Bangladesh test bowlers to break the 100 mark.
Nasir, who remained unbeaten on 64, will resume the fifth day's play hoping to bat out a session or two and give Bangladesh a chance of avoiding the defeat.
West Indies took a wicket off the third ball of Bangladesh's second innings to boost their chance of a 2-0 series sweep.
Fidel Edwards trapped opener Nazimuddin leg before for a golden duck before Best took three wickets in quick succession to rip the heart out of Bangladesh's top order.
Best bowled opener Tamim Iqbal off his first ball in the second innings for 28 and rattled the stumps of Naeem Islam (two) the same over.
Shahriar Nafees was given a reprieve on eight after Edwards had him caught by Marlon Samuels at gully when television replays confirmed the bowler bowled a front-foot no-ball.
However, Shahriar was unable to take advantage of the let off and was out for 21, edging Best at slip for Darren Sammy to complete the catch.
Skipper Mushfiqur Rahim threw his wicket when he charged Permaul down the track and missed the line to be bowled for 10.
Earlier, Shivnarine Chanderpaul made some quick runs before Shakib pushed West Indies towards a declaration.
Shakib had Denesh Ramdin caught by Rahim for 31 three balls before he made Sammy his 100th test wicket as Mahmudullah took the West Indies captain at slip for nought.
The bowler then took the wickets of Permaul (13) and Sunil Narine in successive balls to go on a hat-trick.
Chanderpaul staved off the hat-trick ball and was unbeaten on 150 when the declaration came second over into the session.
Resuming on 109, Chanderpaul struck 12 fours and a six in his 282-ball innings to add to his unbeaten double century in the first test in Dhaka, which West Indies won by 77 runs.