Jason Roy hit a punishing century as England piled on 386 for six against Bangladesh in Cardiff, their highest World Cup total and the top score of the tournament.
England were searching for a response after their surprise defeat to Pakistan and Roy provided it, clubbing his way to 153 in 121 balls including five of the side's 14 sixes.
The Surrey opener had just hit a new gear when he fell, miscuing Mehidy Hasan to extra cover after slamming his three previous deliveries into the stands.
Jos Buttler picked up the baton with a sparkling 64, helping England past 2011's previous high of 338 and a new ground record at Sophia Gardens.
After losing early wickets to spin in their first two matches, England were sent in to bat and immediately confronted with the predictable sight of Shakib-al-Hasan with the new ball.
The slow left-armer was treated with due care and attention but failed to muster a single chance as he burned through five overs for no tangible reward.
Roy and Jonny Bairstow quickly caught up after a careful start, reaching 67 without loss after the 10-over powerplay. Roy was the primary aggressor, driving straight and hard and pulling with authority.
He took a shine to Mohammad Saifuddin, who was dispatched back over his head for the first six of the day, and barely flinched at the extra pace of Mustafizur Rahman.
The England hundred ticked by inside 15 overs, with twin fifties for the openers. Bangladesh were cycling through their bowling options with frantic regularity and finally found a winning formula, Bairstow well caught for 51 after a leading edge off Mashrafe Mortaza.
Roy never looked likely to throw away his start, ruthlessly punishing errors in length, and was gifted his hundred by a misfield in the deep. As he watched the ball slam against the rope he charged unwittingly into umpire Joel Wilson, who landed heavily and needed a moment to compose himself.
Having helped him to his feet, Roy finally got round to celebrating. With a ninth international ton in the bank he upped the ante, tearing into the spinners as he moved from 100 to 150 in 28 balls. For a moment he threatened to join the 'six sixes' club, nailing Mehidy for three successive maximums to start the 35th over.
A fourth was clearly on his mind when he swung hard at the next delivery, but this time it looped to cover. Joe Root had already missed out, bowled for 21 by Saifuddin, but Buttler and Morgan ensured there was no let up.
Between them the pair added a rapid 95, sharing four more sixes along the way. Among them was a memorable strike from Buttler, a flat baseball swing on tip-toes that disappeared over wide long off.
Bangladesh prised out both, as well as Ben Stokes, but a late 45-run flurry from Chris Woakes and Liam Plunkett kept the pressure on to the end of the innings.