West Indies bowlers had earlier needed just under half hour to wrap up the Bangladesh innings as the hosts were dismissed for 387 after resuming the morning on 365 for eight.
Abul Hasan, who blitzed the tourists for a stunning unbeaten century on the opening day, carried on for 113 before he was last out to give fast bowler Fidel Edwards (6-90) a six-wicket haul.
He collected his 14th boundary by carting medium pacer Darren Sammy through mid-wicket before fending a short delivery to the West Indies captain at slip.
Mahmudullah, unbeaten on 72 overnight, added just four before becoming Sammy’s third wicket of the innings when he drove a return catch to the bowler’s right.
Gayle and Powell started positively, putting on a breezy 37 before both fell within 17 balls of each other.
With centuries in each innings of the last Test, Powell again looked in good touch, getting off the mark with a cover-driven boundary off off-spinner Sohag Gazi before stepping down the track a few overs later to loft the same bowler back overhead for another boundary.
Seemingly rattled after being struck on the helmet by a short delivery from pacer Rubel Hossain, Powell perished four balls later when he pulled the right-armer to find Shakib Al Hasan at deep square leg.
Gayle, who had earlier taken cover-driven boundaries off Gazi and seamer Abul Hasan, followed Powell when he brushed a sweep at a wayward delivery from the spinner and was superbly taken down the leg-side by wicketkeeper Mushfiqur Rahim.
Samuels and Bravo then combined to rescue the Windies innings, playing cautiously against accurate bowling before lunch before blossoming nicely in the afternoon.
Bothered early on by Shakib’s left-arm spin, Samuels grew in confidence to hammer 13 fours and a six, in an innings that has so far lasted 282 minutes and consumed 231 balls.
Bravo, meanwhile, displaying unusual restraint, counted just seven fours in his knock that has spanned six minutes shy of five hours and required 197 balls.
After surviving several lbw appeals off Shakib, Samuels counter-attacked with a cover-driven four and followed up with a six over long-on, off successive deliveries.
He then reached his half-century with consecutive boundaries off Rubel Hossain – a cut to backward point and then a streaky hook to fine leg.
Unbeaten on 62 at tea with the Windies on 146 for two, Samuels kept his head down in the final session, eventually reaching his landmark with a classy drive through cover for four off Shakib, three overs before the close.
Bravo was content to play the supporting role and quietly reached his half-century off 133 balls in the final session with his fourth boundary, a sweep off Mahmudullah’s off-spin.
BANGLADESH 1st innings
T. Iqbal b Sammy 32
Nazimuddin c Powell b Edwards 4
S. Nafees c wkp. Ramdin b Sammy 26
N. Islam b Edwards 16
S. Al Hasan c wkp. Ramdin b Edwards 17
M. Rahim c wkp. Ramdin b Edwards 38
N. Hossain c Edwards b Permaul 52
Mahmudullah c & b Sammy 76
S. Gazi lbw b Edwards 0
A. Hasan c Sammy b Edwards 113
R. Hossain not out 5
Extras: (b-4, lb-3, nb-1) 8
Total: (all out, 91.1 overs) 365
Fall of wickets: 1-5 (Nazimuddin), 2-64 (Shahriar Nafees), 3-77 (Tamim Iqbal), 4-93 (Naeem Islam), 5-98 (Shakib Al Hasan), 6-185 (Nasir Hossain), 7-193 (Mushfiqur Rahim), 8-193 (Sohag Gazi), 9-377, 10-387.
Bowling: Edwards 18.1-2-90-6 (nb-1), Best 10-3-31-0, Sammy 23-4-74-3, Narine 19-0-91-0, Permaul 19-2-79-1, Samuels 2-0-15-0,
WEST INDIES 1st innings
C. Gayle c wkp. Rahim b Gazi 25
K. Powell c Al Hasan b R. Hossain 13
D. Bravo not out 85
M. Samuels not out 109
Extras: (lb-3, w-1, nb-5) 9
Total: (2 wkts; 82 overs) 241
Fall of wickets: 1-37 (Powell), 2-43 (Gayle)
Bowling: Sohag Gazi 20-3-67-1, Abul Hasan 14-0-56-0 (w=1, nb=3), Rubel Hossain 14-5-31-1 (nb=2), Naeem Islam 1-0-3-0, Shakib Al Hasan 26-8-56-0, Mahmudullah 7-0-25-0.
Position: West Indies trail by 146 runs.