Graeme Swann and Stuart Broad grabbed two wickets apiece to boost England's hopes of winning the second and final Test against Bangladesh on Tuesday.
Off-spinner Swann took 2-38 and paceman Broad 2-37 before Bangladesh posted 172-6 in their second innings at stumps on the penultimate day in Dhaka. They were just 95 ahead, having conceded a 77-run lead.
England were earlier bowled out for 496 in their first innings in reply to Bangladesh's 419, with Tim Bresnan (91) missing out on a maiden Test century.
Skipper Shakib Al Hasan was unbeaten on 25 at close with Shafiul Islam, who was yet to open his account.
England did not allow the hosts to build a big partnership despite missing chances. Bangladeshi opener Tamim Iqbal (52), debutant Jahurul Islam (43) and Junaid Siddique (43) failed to convert their starts into big knocks.
Tamim, who offered a difficult caught-behind chance off debutant off-spinner James Tredwell on 15, was let off again on 47 when Jonathan Trott missed an easy catch at point off the same bowler.
He fell after completing his second successive half-century, caught by Broad off Swann after hitting five fours.
Jahurul, who failed to score in the first innings, hit two sixes and five fours before being bowled by Swann in the last session.
His first two scoring shots in Test cricket were sixes as he hoisted Swann and Tredwell over long-on, but he also gave a couple of chances.
Swann failed to hold on to a low return catch when Jahurul was on six and then the newcomer edged Tredwell between wicket-keeper and slip for a four.
Siddique was unlucky to be dismissed in the penultimate over of the second session. He firmly drove Tredwell, but the ball hit skipper Alastair Cook's boot at silly-point before going to the bowler, who took the catch.
Bangladesh lost opener Imrul Kayes in the morning, but Tamim and Siddique steadied the innings with a 63-run stand for the second wicket.
Kayes (four) was bowled by Broad, the ball hitting the thigh pad before deflecting on to the leg-stump. The England paceman got his second wicket when he bowled Mushfiqur Rahim (three).
England added 56 to their overnight total of 440-8 to extend their lead.
Bresnan, batting in only his second Test innings, added 17 to his overnight score of 74 before being stumped off spinner Abdur Razzak. He hit six fours in a 261-ball knock.
England lead the series 1-0 following their 181-run win in the opening Test in Chittagong.