Centuries from Younis Khan and Azhar Ali powered Pakistan to a daunting 323-3 against Bangladesh on the first day Wednesday of the second Test.
Younis hit a stroke-filled 148, his 29th century, before being dismissed shortly before stumps.
Azhar, more circumspect, was unbeaten on 127 with captain Misbah-ul-Haq on 9.
Younis and Azhar shared a 250-run stand for the third wicket, a Pakistan record against Bangladesh after the hosts dominated the opening session to reduce them to 58-2.
On the way to his eighth test century, Azhar became the 16th Pakistani to reach 3,000 test runs when he made 66. Azhar hit a dozen of boundaries before the bails were drawn.
Younis and Azhar bailed out Pakistan from the potential danger after Bangladesh chose to bowl first in a favourable surface for the pacers.
With some grass on the pitch, the pacers were supposed to enjoy a good day, but Bangladesh was left one pacer short after Shahadat Hossain hobbled off the field following his second delivery.
Shahadat returned to took a catch of Sami Aslam on 19 off left-arm spinner Taijul Islam.
They eventually created two chances but on both occasions were ruled out because of no-balls.
Azhar got a lifeline early as he edged a delivery from Shahid to third slip when he was on 18. Soumya Sarkar took the catch but Shahid had already crossed the popping crease.
Sarkar received the similar fate when Younis Khan was on 78. Younis gave a simple catch at short cover where Shakib made no mistakes to take it but it was also ruled out due to no-ball.
Mushfiqur Rahim who is playing the match with pain on his ring finger, dropped a catch of Younis when he edged a Shahid delivery.
Shahid, however, got Younis in the next delivery to give the side some relief in an otherwise disappointing day.
Shahid was the most economical, with figures of 2-43 from 21 overs. Taijul Islam took 1-102 off 30.