Shakib Al Hasan made light of a thumb injury to score a quickfire 81 and steer Bangladesh to 300 for six on the first day of the second and final Test against Zimbabwe on Thursday.
The total, compiled at a brisk rate of 3.41 runs per over, was more than the touring side's combined score in two innings in the first Test in which Bangladesh were crushed by 335 runs.
Shakib scored his runs off 118 balls before a wild slash off Elton Chigumbura was caught by wicketkeeper Richmond Mutumbami.
"It was a stupid shot and I caused the team a lot of trouble because of it," he told reporters.
Shakib, however, shared a partnership of 123 with captain Mushfiqur Rahim to steady the innings after Zimbabwe had taken the first four wickets for 125.
Mushfiqur was trapped lbw off Kyle Jarvis for 60 but the scoring momentum was kept up by Nasir Hossain who scored a brisk 37 off 39 balls for finish not out at the close.
Zimbabwe were let down by laboured bowling and several dropped catches and missed run-out chances, although Shingi Masakadza did run out opener Tamim Iqbal for 49 with a smart piece of fielding.
Scorecard
Bangladesh first innings
Tamim Iqbal run out 49
Jahurul Islam c Waller b Meth 24
Mohammad Asharful c Cremer b Masakadza 4
Mominul Haque c S Masakadza b Chigumbura 23
Shakib Al Hasan c Mutumbami b Chigumbura 81
Mushfiqur Rahim lbw b Jarvis 60
Nasir Hossain not out 37
Ziaur Rahman not out 8
Extras (b-2, lb-7, w-1, nb-4) 14
Total (for six wickets, 88 overs) 300
Fall of wickets: 1-44, 2-58, 3-102, 4-125, 5-248, 6-280
Bowling: Jarvis 18-3-85-1, Meth 16-7-22-1, S Masakadza 17-2-52-1, E Chigumbura 18-4-59-2, Cremer 19-2-73-0
Photograph: Andrew Biraj/Reuters