Moments later, opening batsman Tamim Iqbal (2) followed his teammate back to the pavilion when Anderson struck again, leaving Bangladesh two wickets down on just eight runs.
It took the 29-year-old 131 balls to reach his one-day century and England looked to be in trouble as Mushfiqur Rahim contributed by hitting 50.
England, who need to win their final two matches to give themselves a chance of reaching the quarter-finals, were dealt a no-ball when Chris Woakes had Mushfiqur caught at long-on by Joe Root, but they eventually found a breakthrough.
Some impressive close fielding from Woakes resulted in Mahmudullah (103) getting run out with less than five overs to go, and Stuart Broad claimed his first wicket with 13 balls remaining when his effort had Mushfiqur caught by Jordan at deep cover for 89 off 77 deliveries.
Jordan impressed in the penultimate over by conceding just three runs and snatching the wicket of Sabbir Rahman (14), but Mashrafe Mortaza and Arafat Sunny were able to see out the innings unbeaten on six and three respectively.