England opener Jason Roy hit a superb century and skipper Jos Buttler made 76 before Adil Rashid and Sam Curran grabbed four wickets each as the tourists beat Bangladesh by 132 runs in the second one-day international for a 2-0 series victory.
Roy made a 124-ball 132 with 18 fours and a six to lay the platform for a commanding 326-7 in 50 overs after Tamim Iqbal won the toss and surprisingly opted to bowl on a Mirpur wicket he called “tacky”.
Needing a victory to avoid their first bilateral ODI series home defeat since 2016-17, Bangladesh lost two wickets in two balls in Curran’s opening over and another in his next to eventually be dismissed for 194 in 44.4 overs.
Shakib Al Hasan (58), Iqbal (35) and Mahmudullah (32) all gave the hosts a glimmer of hope but incisive bowling by Rashid (4-45) and Curran (4-29) snuffed out their chances.
Earlier, Roy got off to a stuttering start but saw off the Bangladesh spinners with some unconventional sweeping and went on the attack as he approached his 12th hundred, lofting Mehidy Hasan Miraz for a six to get to 97.
After completing his century, Roy went after paceman Taskin Ahmed in the 35th over with back-to-back boundaries but fell lbw shortly after as he attempted a sweep off Shakib. His fourth-wicket stand with Buttler yielded 109 runs.
Buttler made a run-a-ball 50 while shepherding the lower order before falling to leave them at 260-6 in the 44th over. But a big total was never in doubt for the world champions.
Moeen hit a quick-fire 42 to take them close to the 300-run mark while Curran, one of two changes to the side that won the first game by three wickets, made an unbeaten 33 with two sixes in the final over.
The teams meet in Chattogram for the final ODI on Monday before playing three Twenty20 matches.