Gareth Batty took his first Test wicket for 11 years and Ben Stokes made a vital late breakthrough as Bangladesh inched towards England’s first innings target on Day Two in Chittagong.
The hosts closed on 221-5 after 78 from Tamim Iqbal and captain Mushfiqur Rahim's 48 saw them move within 72 runs of England’s total of 293.
CLOSE Bangladesh end on 221-5 after that crucial, late Ben Stokes wicket. They trail by 72 #BANvENG
— England Cricket (@englandcricket) October 21, 2016
Catch up: https://t.co/5imS4qPocc pic.twitter.com/ySvG9qC9J4
Bangladesh struck with the very first ball of the day, as a delivery from Taijul Islam hurried onto Chris Woakes and enticed an inside edge, scooped up at short leg by Mominul Haque.
Rashid survived after reviewing an LBW decision, the ninth of the innings, and played with freedom after his reprieve, using his wrists to find the gaps before he drove uppishly off the back foot, Sabbir Rahman taking a fine catch off Taijul.
Gareth Batty came out for his first bat in an England shirt since 2005, and got off the mark, but Stuart Broad was the last man to go as he feathered one through to Mushfiqur, given out on review - the tenth of the match - to give Mehedi Hasan his sixth wicket.
Batty took the new ball for England but it was Moeen Ali who provided the spark with a superb mini-spell just before lunch.
He struck second ball to bowl Imrul Kayes with a peach of a delivery that ripped from a leg stump line to clip the off stump. Just three balls later a touch of extra bounce caught the shoulder of Mominul Haque’s bat, affording Ben Stokes a simple catch at gully.
But Tamim Iqbal and Mahmudullah began confidently after lunch, negotiating short but sharp spells from Broad and Ben Stokes, with the spinners rotated at the other end.
Tamim moved to his 19th Test half century, and his and fifth against England, shortly before the break -- the 131 deliveries it took him to get there a measure of this testing Chittagong track.
But just as it seemed Bangladesh would complete the perfect session, Adil Rashid provoked an edge from Mahmudullah with a perfect leg spinner, Joe Root doing the honours at slip in the final over before tea.
Batty claimed his first Test scalp since June 2005 when dangerman Tamim Iqbal nicked behind to a slightly quicker delivery, Jonny Bairstow taking a good catch behind the stumps.
But Bangladesh skipper Mushfiqur Rahim came out with an aggressive approach that paid dividends, rapidly taking him into the forties. With Shakib using he feet well, the pair took the home side past 200.
Ben Stokes charged in as the floodlights took effect and the ball started to reverse and got his reward when Mushfiqur - who had gone into his shell ahead of the close - edged behind to Bairstow, who clutched the ball to his chest having spilled it initially.
Stokes and Broad went close to removing Shafiul Islam in the final few overs but he survived to help Bangladesh close on 221-5, with Saturday's morning session looking ever more pivotal.