Sri Lanka took firm control of the second Test against Bangladesh after reaching 296 for four in the second innings at stumps on the third day in Chittagong.
The visitors, 1-0 up in the two-Test series, stretched their overall lead to 472 after losing both openers in the morning.
Kumar Sangakkara (54) got their innings back on track before Thilan Samaraweera closed unbeaten on 72 and Tillakaratne Dilshan, who hit 162 in the first innings, was undefeated on 81.
Bangladesh skipper Mohammad Ashraful ended a 55-run opening partnership when he had Prasanna Jayawardene caught at short midwicket by Shakib Al Hasan for 28 runs.
Three balls later, paceman Shahadat trapped the other opener Malinda Warnapura leg before for 27, at the same total.
Ashraful picked up the wicket of Sangakkara when the left-hander dragged on after Mahela Jayawardene (22) failed to reach 8,000 runs in his 100th Test when he was caught by Imrul Kayes off of Enamul Haque.
Sri Lanka made 384 all out in the first innings before dismissing the hosts for 208.
They won the first test in Dhaka by 107 runs.
© Reuters / Cricket World 2009