Day 3 report: Ben Stokes came to England's rescue on Saturday with a fine all-round performance which gave the tourists a 273-run lead against Bangladesh in the first test with two days left.
Stokes ripped through Bangladesh with reverse-swing to finish on 4-26 — including three wickets in the morning session — as the hosts were all out for 248 in their first innings after resuming on 221-5.
At the change of innings, England led by 45 runs. Then Stokes' restrained 85-run knock helped England end the third day on 228-8 in its second innings, with its lead looking significant on a pitch offering turn and variable bounce.
Chris Woakes and Stuart Broad were undefeated on 11 and 10, respectively.
"If we can get up to 300, 310, 320 lead, it would be nice. We are lucky that we have a really strong batting lineup," Stokes said.
Stokes and Jonny Bairstow combined for a 127-run partnership after England was stuttering on 62-5.
Shakib Al Hasan claimed his 15th five-for, returning figures of 5- 79.
Shakib claimed two quick wickets to reduce England to 28-3, aided by Mehedi Hasan before lunch.
Mehedi broke through with the prized wicket of Alastair Cook for 12, induced by a quicker delivery.
Joe Root (1) and Ben Duckett (15) failed to negotiate the straighter delivery of Shakib as England lost three wickets for two runs.
Garry Ballance perished to a sweep shot off Taijul Islam for 9, and Moeen Ali went for 14 against Shakib to leave England only 17 runs ahead with five wickets remaining.
Stokes and Jonny Bairstow resisted, showing the patience the increasingly deteriorating pitch demanded.
Fast bowler Kamrul Islam was the unlikely man to break the partnership and grabbed his maiden wicket as Bairstow's attempted cut dragged the ball onto his stumps.
Bairstow's 95-ball knock, with six fours, helped him become the highest run-scorer as a designated wicketkeeper in a calendar year, eclipsing Andy Flower's 1,045.
Stokes approached his fourth century until Shakib broke his resistance as he tried to sweep one that didn't turn as much as he expected. Stokes smashed six fours and three sixes in 151 balls.
Shakib then completed his five-for with the wicket of Adil Rashid.
Earlier, Bangladesh survived just 12 overs to add 27 runs to its overnight total.
Offspiner Ali broke through in the second ball of the day as Shakib played a reckless shot to throw away his wicket on his overnight score of 31.
Legspinner Rashid then got nightwatchman Shafiul for 2 after which Stokes' reverse-swing burst accounted for three debutants — Mehedi, Sabbir Rahman and Kamrul in the space of just nine runs.
"For me the game is still in the balance," Bangladesh fast bowling coach Courtney Walsh said. "We have to bat well second time around."