Bangladesh made things difficult for Sri Lanka on day one of their opening Test in Mirpur by reducing them to 172 for six at stumps after fog delayed play early on.
Once the ground was fit to play, Bangladesh struck the first blow when Malinda Warnapura was trapped in front by Mashrafe Mortaza for 14.
Then followed a partnership of 95 between Michael Vandort (44) and Kumar Sangakkara (43) that frustrated Bangladesh but they fought hard and got their reward with three quick wickets to knock Sri Lanka back.
Sangakkara was well caught by Mohammad Ashraful at short midwicket off of Shakib Al Hasan before Shahadat Hossain induced Vandort to offer Shakib a catch.
And shortly before tea, Shakib picked up the prize wicket of Sri Lankan captain Mahela Jayawardene, bowled with an arm ball for three, to put the home side back in the contest.
Thilan Samaraweera (19) and Chaminda Vaas (0) were unbeaten overnight after Bangladesh removed Tillakaratne Dilshan (14) and Prasanna Jayawardene (6) in the final session.
Dilshan was Shakib's third victim and he too was bowled before Jayawardene was caught by Tamim Iqbal off of Shahadat Hossain.