Set 276 to win, England were bowled out for 260 despite Jos Buttler’s 52-ball 65, while Rubel Hossain claimed 4-53.
Bangladesh had earlier posted 275-7 in Adelaide thanks to 103 from Mahmudullah and Mushfiqur Rahim’s 89.
England go out in the group stages for the third time in five World Cups, while Bangladesh advance past the first round for only the second occasion.
“I’m gutted at the moment,” said England skipper Eoin Morgan. “There’ll be an inquest over the next few weeks as to what happened and what went wrong. Then we’ll go from there.”
Coach Peter Moores said he felt “hollow inside” and “hugely disappointed” following England’s demise.
Bangladesh’s victory also secured Sri Lanka’s place in the last eight, alongside Pool A winners New Zealand and Australia.
England, meanwhile, face a dead rubber against Afghanistan in Sydney on Friday.
A fourth defeat in five games is the latest episode in 23 years of World Cup failure, since they reached the final in 1992.
In losing to every Test-playing side in Pool A – their only win has come against Scotland – England have put in their worst showing since a first-round exit on home soil in 1999. Even then, they managed to beat defending champions Sri Lanka.
Sri Lanka, along with Australia and New Zealand, are three sides to have dished out heavy defeats to England in this tournament, but all three are ahead of Morgan’s team in the world rankings.