It sealed a dramatic resurgence for the defending champions who had been on the brink of elimination after losing their first three matches in the 50-over competition.
They then won all of their remaining four games to secure a place in the top four. The comprehensive win saw them overtake the West Indies to join top qualifiers Australia and South Africa in the knockout stage.
The final berth will be decided later Sunday in the match between India and South Africa. India, who lost the 2017 World Cup final to England, must win or the West Indies will take the final semi-final spot.
England lost wickets at regular intervals in the first half of their innings and were 96 for four before Sophia Dunkley, who scored 67, led a middle-order charge to get the score up to a defendable 234 for six. Bangladesh found it difficult to score against a tight England attack, averaging just 2.79 runs per over until they were all out for 134 with 12 balls remaining.
Player-of-the-match Dunkley faced just 72 deliveries, scoring eight fours, and featured in a 72-run partnership with Amy Jones (31) for the fifth wicket and then put on 43 with Katherine Brunt (24 not out) for the sixth wicket. Salma Khatun, who took the prized England wickets of Heather Knight for six and Nat Sciver for 40, finished with two for 46.
Bangladesh never threatened to get near the English total despite a safe start by Shamima Sultana and Sharmin Akhter who put on 42 for the opening wicket.
They were tied down by a penetrating England bowling attack led by Sophie Ecclestone who took three wickets in her 10 overs for a miserly 15 runs while Brunt, although wicketless, conceded only seven runs from her five overs.