Abdur Razzak marked his comeback with a four-for in the first innings while Taijul Islam took as many wickets in the first innings.
"I don't think it is possible to get more than 300 runs on this wicket".
Mehidy Hasan, the Bangladesh spinner, is also banking on the senior batsmen in the side to take up responsibility.
Fourteen wickets fell for the second straight day, including five for three runs that wrapped up Bangladesh's innings in a hurry.
A win for Sri Lanka would see them take the two-match series 1-0 after a bore-draw in the first Test at Chittagong.
The touring Sri Lankans are now in pole position to win the Test match, having posted 222 in their first innings, before bowling the hosts out for a meagre 110.
They continue to trail Sri Lanka by 166 runs with six wickets in hand heading into the second day.
He hit nine fours in his nearly chanceless knock, facing 94 balls as his teammates struggled in the middle.
Mehidy Hasan Miraz was the top scorer with 38 runs while Skipper Mahmud Ullah's 17, and Liton Das' 25 helped the Tigers cross the 100-run mark. Dimuth Karunaratne (32), Dhananjaya de Silva (28) and Dinesh Chandimal (30) got starts but couldn't carry on.
Bangladesh were unable to remove number 10 Suranga Lakmal (7*) late in the day though Mustafizur Rahman (3/35) had him dropped in the slips.
Bangladesh needed a solid start to fix on the first day's damage, but Suranga Lakmal bowled Liton Das (25) in the second day's fourth over to serve a blow to the hosts' plans.
Razzak continued to torment the Sri Lankan batting as he had Mendis castled in the second delivery after the restart and from there only Roshen Silva (56), Dilruwan Perera (31) and Akila Dananjaya (20) showed resilience.