Teenage off-spinner Mehedi Hasan took 5-64 on his Test debut for Bangladesh as England ended day one on 258-7 in the first Test.
The youngster took full advantage of extremely spin-friendly conditions in Chittagong to leave the match intriguingly poised going into day two.
Moeen Ali, promoted to bat at No 5, top-scored for England with 68 while Jonny Bairstow also hit a half-century, going past 1,000 Test runs for the year in the process, before both fell victim to Mehedi.
Earlier in the day, batting first had seemed the only logical choice when Alastair Cook, making an England record 134th Test appearance, won the toss on a ground where the average first innings score is 380.
However, within a couple of overs it seemed clear that it would take a Herculean effort from the England batsmen to even get close to that total.
After Cook had seen out the first over of seam bowling with relative ease, Bangladesh turned to the 18-year-old Mehedi to bowl the second.
The problem was not so much that the ball was turning sharply from the off - though it was - but more that one ball would spin viciously only for the next, pitched on practically the same spot would not alter course at all.
Debutant Ben Duckett (14) was the first of three wickets to fall in the space of 14 balls, as Mehedi ripped one past him and knocked back his off stump.
Cook (4) was next to go, the ball looping up off his glove and onto his stumps as he looked to sweep Shakib Al Hasan before a good review saw Gary Ballance (1) dismissed lbw by Mehedi.
With England 21-3, Joe Root was joined by Ali and, with the Yorkshireman looking in particularly good nick, the pair led the tourists to 81-3 at lunch.
By that stage Ali had already successfully overturned one lbw decision on review and seen Bangladesh opt against a review for another lbw shout that would have seen him on his way back to the pavilion.
However, that was just the start as the all-rounder was given out lbw twice more in the first over after lunch only to be reprieved by reviews on each occasion and deny Shakib.
Root had no such luck though as he fell for 40 in the next over, nicking one from Mehedi that flicked off the wicketkeeper's pad and looped up for a simple catch at slip.
Ben Stokes (18) was then bowled through the gate by Shakib and England found themselves in trouble again at 106-5.
Ali survived another review for lbw, this time from Bangladesh, but was starting to look more comfortable and began to accelerate as he reached his eighth Test fifty.
He and Bairstow had added 88 for the sixth wicket and were threatening to undo Bangladesh's good work. That was until Mehedi returned and produced a beauty to remove him; the ball spinning sharply to take the edge with Mushfiqur Rahim taking a superb catch behind the stumps.
Bairstow then took up the mantle and made it to his eighth Test fifty of the year. However, he got little further as he was bowled by Mehedi for 52.
England's batting depth then came to the fore as Chris Woakes (36no) and Adil Rashid (5no) batted with assurance to see the visitors through to the close as the Bangladesh bowlers tired.
They will hope to take England up towards 300 tomorrow morning, a total they would likely see as very competitive in tricky conditions.