England legspinner Adil Rashid has struck twice to peg back Bangladesh in their huge chase of 310 in the first ODI.
Mahmudullah (25) and Mushfiqur Rahim (12) both holed out at deep midwicket going for slogs.
Bangladesh opener Imrul Kayes struck a brisk half-century to take his team past 100 in the 18th over.
Having struck a blazing 91-ball 121 in the warmup, Kayes was looking good as he cracked his 13th ODI half-century off 55 balls.
Bangladesh lost the crucial wicket of Tamim Iqbal after a watchful start. Pacer Jake Ball struck in his first over on debut when Tamim (17) swung across the line, skying it for an easy catch at cover.
Ball grabbed his second when Sabbir Rahman (18) then fell to a stunning catch by David Willey at the edge of the deep midwicket boundary.
Earlier, a maiden ODI century from Ben Stokes and some late fireworks from captain Jos Buttler have powered England to a huge 309-8.
Although the Tigers had England on their backfoot with some quick wickets early on, some slapdash fielding allowed the tourists to fight their way back.
With the team tottering on 63-3 after electing to bat, Stokes (101) and debutant Ben Duckett (60) paired in a 153-run stand to build a strong base at the Sher-e-Bangla National Cricket Stadium in Mirpur on Friday.
Duckett hit a fine half-century on his international debut while Stokes, who was dropped twice – on 69 and 71 – cracked eight boundaries and hammered four sixes in his 100-ball innings.
Bangladesh bowlers fought back late with quick wickets, but the England skipper launched a late assault and struck a blistering 38-ball 63 to lift his team to the daunting total, according to a news agency.
Score: Bangladesh 288 allout in 47.5 overs v England 309/8