Sri Lanka pace bowler Lasith Malinga claimed four for 25 as Bangladesh collapsed to 62 for nine on the first morning of the second Test on Tuesday.
Malinga ripped through the Bangladesh top order with the new ball after captain Mahela Jayawardene won the toss and chose to bowl first.
Fast bowler Dilhara Fernando (2-16) and spinner Muttiah Muralitharan (3-14) also chipped-in with wickets as the visitors narrowly avoided the humiliation of being bowled out in a single session.
Bangladesh, bowled out for 89 in the first Test, still need to score a further 27 runs to equal their previous lowest score in Test cricket, the 86 against Sri Lanka in 2005.
Only number three batsman Rajin Saleh, the only batsman to reach double figures, provided any resistance.
He occupied the crease for 62 balls for his 21 before being dismissed minutes before the break.
Malinga created the early problems with his extra pace and swing through the air as Shariar Nafees was pinned lbw for a duck in his first over.
Javed Omar (eight) battled for 36 minutes before edging an outswinger to wicket-keeper Prasanna Jayawardene.
In Malinga’s next over, Habibul Basher (five) edged to slip and skipper Mohammad Ashraful (nought) fell for a leg trap and clipped a catch to a deep-set forward short leg.
Debutante Mehrab Hossain Jr (six) was bowled out and Mashrafe Mortaza (nought) was caught behind after Fernando was introduced into the attack.
Wicket-keeper Mushfiqur Rahim threatened a fightback with two quick boundaries off Muralitharan, but was deceived by the spinner’s doosra and caught behind.
Mohammad Raffique (two) holed out in the deep and on the stroke of lunch Saleh edged a Muralitharan doosra to slip.
Bangladesh trail the three-match series 1-0 after losing the first game by an innings and 234 runs last week. – Reuters