Bangladesh lost four wickets in the final session to slump to 214 for five on day two of their second and final test against Sri Lanka on Thursday.
Shakib Al Hasan, on 18, and skipper Mushfiqur Rahim (two) were together at stumps with the tourists still 124 runs behind the hosts.
Earlier, Dinesh Chandimal completed his eighth test century to help Sri Lanka post 338 all out in their first innings at the P Sara Oval.
Chandimal made 138 as the last three Sri Lankan wickets put on 143 runs, adding 100 to their overnight score of 238 for seven to consolidate their position.
Bangladesh mounted a strong reply with Soumya Sarkar (61) hitting his third fifty in as many innings as he and fellow opener, Tamim Iqbal, who made 49, put on 95 for the first wicket.
Imrul Kayes made 34 and Sabbir Rehman chipped in with 42 but Sri Lankan left-arm chinaman bowler Lakshan Sandakan claimed three wickets to halt Bangladesh’s progress.