Muttiah Muralitharan grabbed two quick wickets to push Sri Lanka closer to a big victory over Bangladesh on the fourth day of the opening Test in Dhaka on Tuesday.
The off-spinner dismissed Junaid Siddique and Raqibul Hasan in his four overs as Bangladesh struggled to reach 150-4 in their second innings at tea, chasing an unlikely 521-run target.
Skipper Mohammad Ashraful was unbeaten on 23 at the break while Mehrab Hossain had yet to open his account.
Sri Lanka, resuming at 291-4, added 114 in the morning session before declaring their second innings closed at 405-6. Skipper Mahela Jayawardene top-scored with a superb 166, his 24th Test century.
The hosts then suffered a setback in the eighth over when Imrul Kayes (13) was run out after adding 40 for the opening wicket with Tamim Iqbal.
Sri Lanka tightened their grip over the match in the afternoon session with three wickets, with Muralitharan taking two and seamer Dammika Prasad one.
Iqbal scored a brisk 53-ball 47 with eight fours before being caught behind off Prasad.
Muralitharan, who took six wickets in the first innings, broke a 52-run stand for the third wicket when he had Siddique (37) caught by Jayawardene at first slip and then bowled Hasan (24) to send the hosts reeling at 144-4.
Jayawardene, unbeaten on 129 on Sunday, earlier added 95 for the fifth wicket with Tillakaratne Dilshan (47) before being caught at first slip by Siddique off spinner Mehrab Hossain.
The Sri Lankan captain hit one six and 19 fours in his 269-ball knock.