Shakib Al Hasan bowled Bairstow with a beautiful delivery, but it brought no respite for the Tigers. Malan and Joe Root added 151 runs for the second wicket.
Malan hit 16 fours and five sixes overall, and reached his hundred off 91 balls. After the landmark, he cut loose to score 40 off only 16 balls, hitting four fours and three sixes.
“It was fantastic to put in a performance like this and win a game (for the team). Hopefully my form will continue ahead,” Malan said. “With Root at three, it allows us to play freely. I am desperate to do well in this format and prove a point.”
Root also scored quickly, reaching 50 off 44 balls. Overall, he hit 82 off 68 balls, including eight fours and a six, as he continues to rediscover his form.
England lost its way a bit in the last phase of the innings. After Malan’s dismissal, it went from 296-2 to 307-5 , losing Root and Jos Buttler (20). Liam Livingstone, who has a good IPL record at this ground, was bowled for a golden duck. Harry Brook (20) guided the score past 350 along with the lower middle-order.
Topley then destroyed Bangladesh’s chase with the new ball. He sent back Tanzid Hasan for one, and then Najmul Hossain Shanto was out caught for a golden duck, in the second over.
Four overs later, Topley bowled Shakib for one. Chris Woakes had Mehidy Hasan Miraz caught behind for eight as Bangladesh struggled at 49-4 in 8.3 overs.
The game was effectively already over, even as Litton Das top scored with 76 to help stabilize the innings. He put on 72 runs with Mushfiqur Rahim, the only time when Bangladesh looked comfortable.
Rahim scored 51 runs, and there weren’t any lower-order heroics to jeopardize England’s win.
England and Bangladesh, which beat Afghanistan in its opener, both have two points after two games.