Liton Das hit his maiden century as Bangladesh recovered from a shaky start to reach 253-4 against Pakistan on the opening day of the first Test on Friday.
He and Mushfiqur Rahim combined for an undefeated 204-run partnership after Bangladesh were reduced to 49-4 in the first session.
They kept the Pakistan bowlers at bay from the first half of the morning session through the entire second and third sessions.
At stumps owing to bad light, Liton was on 113 and Mushfiqur on 82.
The first hour belonged to the Pakistan fast bowlers, who utilised the early moisture on the pitch.
Opener Saif Hasan hit fast bowler Hasan Ali for two boundaries in the second over to hint at a good start for Bangladesh.
Opening partner Shadman Islam struggled against Shaheen Shah Afridi, who moved the ball well, but Saif grew with confidence, driving the left-arm pacer through mid-off for four.
Afridi broke through with the next delivery when Saif fended a short delivery to a short leg for 14.
Shadman also fell for 14, as Ali had him leg before after leaking runs in his opening spell.
Offspinner Sajid Khan gave the side a big breakthrough when he reviewed successfully to dismiss captain Mominul Haque for 6.
Najmul Shanto followed him, giving a straight catch to point for 14 as Bangladesh crumbled under pressure.
Liton and Mushfiqur were duly cautious at the start and survived some tricky moments before they dominated.
They went unscathed in the whole middle session during which they raised their half-centuries and Liton hit Khan for the lone six of the day.
Liton, who was dropped from the Twenty20 squad following a poor T20 World Cup, chopped left-arm spinner Nauman Ali's short delivery past backward point to the boundary to bring up his half-century off 95 balls.
With the pitch offering nothing for the bowlers, the Pakistan pacers came up with a short balls plan which almost worked as Liton, on 67, mistimed one off Afridi but Khan put down the catch at midwicket.
Liton then became more watchful.
Mushfiqur, meanwhile, raised his 24th half-century with consecutive boundaries against fast bowler Ali off 108 balls. He survived because of a no-ball by Nauman Ali after sweeping straight to point.
Playing with caution, Liton reached his first Test century off 199 balls after pushing Nauman to mid-off for a single.
Pakistan took the new ball as soon as it was available without reward for another five overs.
The home side is missing three key players as Shakib Al Hasan and Tamim Iqbal were ruled out due to injuries and Mahmudullah, who hit a 150 not out in Bangladesh's last Test against Zimbabwe, retired from the five-day format.
Pakistan came into the Test series having swept Bangladesh in the three-match T20 International series.
The visitors handed a Test debut to Abdullah Shafique, who scored two centuries in three first-class matches he has played.