CARDIFF – Jason Roy's 153 took England to 386 for six, the highest total of the World Cup so far, as Bangladesh's attack took a battering in Cardiff on Saturday.
England had conceded 348-8 in a surprise 14-run defeat by Pakistan in Nottingham on Monday.
But the tournament hosts overhauled that score with ease as they topped their previous World Cup best of 338-8 against India at Bangalore in 2011.
Roy's innings also replaced Rohit Sharma's 122 not out for India as the highest individual score of this World Cup to date.
England hit 14 sixes and 28 fours in their innings, with Chris Woakes (18 not out) an Liam Plunkett (27 not out) piling on the agony with an unbroken stand of 45 in just 17 balls.
Bangladesh now need to surpass Ireland's 329-7 against England in Bangalore in 2011 – the highest score by a team batting second to win a World Cup match – if they are to achieve an unlikely victory.
England were sent in to bat by Tigers captain Mashrafe Mortaza on a green-tinged pitch but Roy and Jonny Bairstow (51) seized the initiative, sharing a rapid first-wicket stand of 128.
Jos Buttler, who survived an lbw review first ball, then followed up with a dashing 64 featuring four sixes -- including a huge straight hit off Mossadek Hossain that sailed into the River Taff.
Both Roy and Bairstow have come unstuck against slow bowling in this tournament so it was no surprise when left-arm spinner Shakib Al Hasan opened the bowling.
But on a green-tinged, if slow, pitch, his wicketless 10 overs cost 71 runs.
All of Bangladesh's bowlers suffered as England repeatedly took advantage of two short, straight boundaries and some poor ground-fielding.
Bairstow fell after completing a 48-ball fifty, well caught by Mehidy Hasan Miraz in the covers off Mashrafe to give the Bangladesh skipper his first wicket of this World Cup.
The in-form Roy completed a 92-ball century in bizarre fashion when, not looking, he collided with umpire Joel Wilson as he completed what should have been a single to take him to 97, only for Mohammad Mithun at deep square leg to misfield a ball that went for four.
Wilson received on-field medical attention and was checked for concussion at a subsequent drinks break but was cleared on both occasions.
Roy was finally caught by Mashrafe off Mehidy, holing out after hitting three towering sixes in a row off the spinner, who finished with two for 67.
The Surrey batsman faced 121 balls, hitting 14 fours and five sixes as he fell just short of Andrew Strauss's England World Cup record of 158 against India in Bangalore in 2011.