After putting up the fourth-highest opening stand for Bangladesh in Test cricket, the Tigers somewhat lost their way in the second session of the third day.
All three wickets were taken by Sri Lankan pacers.
Kasun Rajitha, who came in as a concussion sub for Vishwa Fernando, led the Lankan troops with a brace.
But the primary harm was done by Asitha Fernando. He dismissed Mahmudul Hasan Joy for 52 after Joy and Tamim Iqbal, who reached his hundred meanwhile, built an opening partnership of 162 runs.
Najmul Hossain Shanto then came to the middle, played 20 odd deliveries for his 2, and was caught behind off Rajitha. Skipper Mominul Haque continued his bad run of form as he was poorly dismissed for 2.
Tamim was then accompanied by Mushfiqur Rahim and safely played out the rest of the overs before tea.
Tamim remained unbeaten on 133 while Mushfiq is batting on 14.
But Tamim seemed to be struggling with cramps in the unbearable heat of Chattogram. He is only 19 runs away from becoming the first-ever Bangladeshi to reach five thousand runs in Test cricket. His partner Mushfiqur Rahim is also in the same race, he is 54 runs away from the landmark.