England slipped to 53-3 off 16.4 overs after being put into bat but Morgan put on 109 for the fourth wicket with Jonathan Trott, who hit 67 for his fourth 50 in five World Cup innings.
Having arrived in Bangladesh just three days ago as an injury replacement for Kevin Pietersen, Morgan hit 63 to show why England wanted him in its original 15-man squad before he was ruled out with a broken finger.
But Bangladesh hit back to raise hopes of the win it needs to reach the quarterfinals.