England took wickets at regular intervals to reduce Bangladesh to 172 for six at the close on the fourth day of the second and final test on Tuesday.
The touring side were closing in on victory and a 2-0 series triumph with Bangladesh just 95 runs ahead and only four wickets in hand.
Skipper Shakib Al Hasan was 25 not out and nightwatchman Shafiul Islam unbeaten on nought.
Earlier, all-rounder Tim Bresnan compiled a test-best 91 to lead England to a first-innings total of 496.
“Nine runs are nine runs, it’s the contribution to the team that I’m more happy with,” Bresnan told reporters.
“We’ve managed to get in front on a slow scoring wicket and I feel we’ve set it up perfectly for a win tomorrow,” he said.
“I think four quick wickets tomorrow and we chase 150 and win, that’s how I see it.
“We will be chasing a total I have a feeling about that, especially after getting the key wicket of Mushfiqur. We’ve got a nightwatchman in tomorrow and then Naeem, who’ll hang in a bit, but if we can get them out we are sniffing a win,” he added.
Bangladesh opener Tamim Iqbal blazed a half-century before being caught by Stuart Broad at point off spinner Graeme Swann for 52.
Tamim had his fair share of luck, being dropped three times with spinner James Tredwell the unlucky bowler on each occasion.
Wicketkeeper Matt Prior put the opener down when he was on 15, Tredwell failed to hold a sharp return catch on 26 and Jonathan Trott dropped an absolute sitter at point with Tamim on 47.
Tredwell was, however, lucky to remove Zunaed Siddique (34) when his drive hit the toe of captain Alastair Cook at silly-point and looped up for a simple catch for the bowler.
Bresnan had Mahmudullah caught by Prior for six and Swann dismissed debutant Jahirul Islam.
Jahirul, who made a duck in the first innings, opened up with two sixes and eventually made 43.
Broad, who dismissed opener Imrul Kayes for four, returned later to clean bowl vice-captain Mushfiqur Rahim for three.
Earlier, England resumed on 440 for eight and batted nearly 20 overs to add 56 runs.
Left-arm spinner Abdur Razzak (3-132) claimed two wickets, both with stumpings by wicketkeeper Rahim, and Shakib finished with figures of four for 124.
Bresnan fell nine runs short of his maiden test century after hitting six fours.
Jahirul had not given up hope of a Bangladesh victory.
“We should not look for runs and rather should concentrate on surviving the first two sessions. If we don’t lose any wicket until lunch it would be good for us. It will make them tired and our job will be easier for us to bat,” he said.