Mohammad Hafeez led Pakistan's strong reply with his third hundred in as many Tests after Bangladesh lost their last five wickets for 27 runs on the second day of the opening Test at Khulna on Wednesday.
Hafeez remained unbeaten on 137 with Pakistan reaching 227 for one in their first innings at stumps after Bangladesh were shot out for 332. Azhar Ali was also not out on 65.
Bangladesh resumed on Wednesday on 236 for four and went past 300 riding on a 62-run stand for the sixth wicket between captain Mushfiqur Rahim (32) and debutant Soumya Sarkar (33).
Sarkar and Rahim fell in consecutive overs as Bangladesh, who defeated Pakistan in all four limited overs matches preceding the two-test series, collapsed from 305 for 5 to 332 all out.
Paceman Wahab Riaz and leg-spinner Yasir Shah finished with three wickets each for Pakistan.
Hafeez, who also picked up two wickets, added 50 for the opening wicket with debutant left-hander Sami Aslam (20), who was given out caught behind off Taijul Islam after Mushfiqur successfully reviewed the umpire's not-out verdict.
Mushfiqur, however, dropped Azhar on 11 and 28, the second one forcing him to leave the field with an injured finger.
Hafeez, who successfully overturned the umpire's caught behind decision against him on 13, brought up his eighth Test century with two consecutive fours off paceman Rubel Hossain before taking off his helmet and kissing the turf to celebrate the mark.
The 34-year-old right-hander had scored 96, 101 not out, 197 and 24 in his last four innings in Tests against New Zealand in United Arab Emirates in November.
Hafeez hit 12 fours and two sixes in his 179-ball knock and added 177 for the unbroken second wicket with Pakistan's ODI captain Azhar.
Bangladesh employed eight bowlers but could not find a second breakthrough and are now 105 runs ahead.
Scorecard
Bangladesh (1st innings): (overnight: 236-4)
T. Iqbal c Az. Ali b Shah 25
I. Kayes c&b Hafeez 51
M. Haque lbw b Babar 80
Mahmudullah c S. Ahmed b Riaz 49
S. Al Hasan c Shafiq b Babar 25
M. Rahim c Misbah-ul-Haq b Shah 32
S. Sarkar c Shafiq b Hafeez 33
S. Hom not out 12
T. Islam b Shah 1
M. Shahid c Misbah-ul-Haq b Riaz 10
R. Hossain c S. Ahmed b Riaz 2
Extras: (lb-5, nb-7) 12
Total: (all out, 120 overs) 332
Fall of wickets: 1-52, 2-92, 3-187, 4-236, 5-243, 6-305, 7-310, 8-312, 9-329, 10-332
Bowling: J. Khan 16-2-40-0(nb-2), W. Riaz 26-7-55- 3(nb-1), M. Hafeez 18-5-47-2, Z. Babar 32-3-99-2, Y. Shah 28-4-86-3.
Pakistan (1st innings):
M. Hafeez not out 137
S. Aslam c Rahim b T. Islam 20
Az. Ali not out 65
Extras: (lb-2, nb-3) 5
Total: (for 1 wickets, 58 overs) 227
Fall of wicket: 1-50
To bat: Y. Khan, Misbah-ul-Haq, A. Shafiq, S. Ahmed, W. Riaz, Y. Shah, J. Khan, Z. Babar
Bowling: R. Hossain 11-0-50-0(nb-2), M. Shahid 7-0-29-0(nb-1), T. Islam 16-2-43-1, S. Hom 8-0-34-0, S. Al Hasan 12-0-57-0, Mahmudullah 2-0-9-0, S. Sarkar 1-0-2-0, M. Haque 1-0-1-0.