Spinners Dilruwan Perera and Rangana Herath struck as Sri Lanka began their victory push in the second Test against Bangladesh after setting the hosts a 339-run target in Dhaka on Saturday.
Perera removed opener Tamim Iqbal for two before Herath got rid of Imrul Kayes as Bangladesh reached 57-2 at lunch on the third day at the Sher-e-Bangla National Stadium.
Wicketkeeper Niroshan Dickwella took the catch as Kayes fell for 17 in the next ball after he hit Herath for six straight over his head.
Mominul Haque fell scoring 33 runs in the ball of Herath after the lunch break. He was caught behind.
Liton Das was at the crease with 12 alongside Mushfiqur Rahim, nine not out, with the hosts still needing an improbable 261 runs for victory.
Earlier, Sri Lanka added 26 runs to their overnight score before they were all out for 226 in their second innings to set up a mammoth target for Bangladesh.
Roshen Silva remained unbeaten on 70, adding 48 runs to fellow overnight batsman Suranga Lakmal for the ninth wicket after Sri Lanka resumed on 200-8.
Left-arm spinner Taijul Islam bowled Lakmal for 21 to end the partnership before he trapped Herath leg-before off the next ball to wrap up the Sri Lanka innings.
Taijul finished with 4-76 taking his tally to eight wickets in the match.