The Caribbean side piled up a massive 648 for nine declared and by the close at the Sheikh Abu Naser Stadium, had reduced the hosts to 226 for six thanks to Best who snatched three wickets for five runs from the first 16 balls of his opening spell. Bangladesh staged a recovery through the brilliant Shakib Al Hasan who stroked an entertaining 97 before falling to what proved to be the final delivery of the day.
He put on a critical 144 for the sixth wicket with Nasir Hossain, who finished unbeaten on 62, to pull the sputtering innings around from a fragile position of 82 for five.
Best, who has struggled throughout the game with a stiff hamstring, finished with three for 26 while rookie left-arm spinner Veerasammy Permaul supported with two for 51, including the important wicket of Shakib at the end.
Bangladesh still require a further 35 runs to make West Indies bat again.
Earlier, veteran left-hander Shiv Chanderpaul carried on for 150 not out after resuming at 109 but West Indies, from their overnight 564 for four, lost five wickets for 84 runs before declaring their innings 15 minutes after lunch.
Overall, Chanderpaul faced 282 balls in six hours and 15 minutes at the cease, and struck 12 fours and a six.
He extended his fifth-wicket partnership with wicketkeeper Denesh Ramdin to 75 before West Indies lost their last five wickets for 27 runs in 43 deliveries. They were undermined by Shakib’s left-arm spin which accounted for four of the five scalps, as he finished with four for 151.
Off-spinner Sohag Gazi claimed the other wicket to fall to post figures of three for 167.
Ramdin, resuming on four, made 31 before edging an attempted heave behind off Shakib and captain Darren Sammy (0) lasted just three balls before he was taken at slip by Mahmudullah, after a thick edge rebounded off wicketkeeper Mushfiqur Rahim.
Permaul blasted a four and a six in 13 before driving Shakib to Gazi at cover and off the very next ball, Sunil Narine was neatly taken at forward short leg by Shahriar Nafees to signal the lunch interval.
The innings lasted just 15 balls after the break, enough time for Gazi to claim his third wicket as Fidel Edwards edged to Shakib at slip.
West Indies struck almost right away when Edwards knocked over Nazimuddin lbw without scoring, to the third ball of the innings with just a run on the board.
Stroke-maker Tamim Iqbal and Shahriar Nafees counter-attacked, however, adding a breezy 48 for the second wicket at better than a run-a-ball.
Tamim hammered 28 from 33 deliveries while Nafees got 21 from 30 balls before they were both removed by Best in the first over of his spell.
The left-handed Tamim missed a prod at one that swung in and was bowled first ball of the right-armer’s spell and four balls later, new batsman Naeem Islam offered no shot to another one that came in and had his off-stump rattled.
Nafees, who was caught off an Edwards no-ball on eight, made little of his reprieve as he gloved a lifter from Best to Sammy in the cordon, to leave Bangladesh tottering on 62 for four.
When captain Mushfiqur came down the track to Permaul, missed a swing and was bowled at 82 for five, 20 minutes before tea, West Indies seemed en route to wrapping up the game before the close.
But Shakib and Nasir Hossain came together in a fabulous stand, that frustrated the tourists and endured the match would go the full five days.
The left-hander counted ten sparkling fours and a six – a lofted shot over long-off off ineffective off-spinner Sunil Narine in an over that cost 14 runs – in an innings that required a mere 117 balls in 205 minutes.
Nasir Hossain, meanwhile, has hit eight fours off 130 balls in 164 minutes at the crease.
Shakib looked set for his third Test century when he inexplicably lost his composure, slogged at the first ball of the day’s final over and squirted an easy catch to Best at mid-off.
BANGLADESH 1st innings 387
WEST INDIES 1st innings (o/n 564 for four)
C. Gayle c wkp. Mushfiqur Rahim b Sohag Gazi 25
K. Powell c Shakib Al Hasan b Rubel Hossain 13
D. Bravo lbw b Sohag Gazi 127
M. Samuels c sub. (Elias Sunny) b Rubel Hossain 260
S. Chanderpaul not out 150
D. Ramdin c wkp. Mushfiqur Rahim b Shakib Al Hasan 31
D. Sammy c Mahmudullah b Shakib Al Hasan 0
V. Permaul c Sohag Gazi b Shakib Al Hasan 13
S. Narine c Shahriar Nafees b Shakib Al Hasan 0
F Edwards c Shakib Al Hasan b Sohag Gazi 2
Extras: (b-10, lb-7, w-2, nb-8) 27
Total: (9 wkts decl; 200.3 overs) 648
Fall of wickets: 1-37 (Powell), 2-43 (Gayle), 3-369 (Bravo), 4-546 (Samuels), 5-621 (Ramdin), 6-621 (Sammy), 7-639 (Permaul), 8-639 (Narine), 9-648 (Edwards)
Bowling: Sohag Gazi 57.3-4-167-3, Abul Hasan 24-0-113-0 (w-1, nb-4), Rubel Hossain 31-8-86-2 (nb-3), Naeem Islam 14-1-43-0, Shakib Al Hasan 52-11-151-4, Mahmudullah 10-0-42-0, Nasir Hossain 12-1-29-0.
BANGLADESH 2nd innings
Tamim Iqbal b Best 28
Nazimuddin lbw b Edwards 0
Shahriar Nafees c Sammy b Best 21
Naeem Islam b Best 2
Shakib Al Hasan c Best b Permaul 97
Mushfiqur Rahim b Permaul 10
Nasir Hossain not out 64
Extras: (lb-2, w-1, nb-1) 4
Total: (6 wkts; 56.1 overs) 226
Fall of wickets: 1-1 (Nazimuddin), 2-49 (Tamim Iqbal), 3-51 (Naeem Islam), 4-62 (Shahriar Nafees), 5-82 (Mushfiqur Rahim), 6-226 (Shakib Al Hasan).
Bowling: Edwards 11-0-65-1 (nb-1), Narine 9-0-48-0, Permaul 16.1-2-51-2, Best 8-0-26-3 (w-1), Gayle 4-0-15-0, Sammy 8-3-19-0.
Position: Bangladesh require 35 runs to make West Indies bat again