Opener Imrul Kayes hit a heroic century but it was not enough to refrain England from netting a 21-run victory in the first ODI on Friday.
Imrul and Shakb Al Hasan made 118 in the fifth wicket partnership and the sell-out crowd at the Sher-e-Bangla National Cricket Stadium were sniffing a win when they needed 39 runs from 48 balls.
But debutant Jake Ball struck in two successive balls to remove a fiery Shakib and a clueless Mosaddek Hossain and the Tigers soon surrendered meekly.
And when Adil Rashid deceived Imrul and wicket-keeper Buttler broke the stumps, the fate of the hosts was all but sealed.
The Bangladesh opener, brought in the side to replace out-of-form Soumya Sarkar, hit 112 in 119 balls thanks to 11 fours and two sixes, and as long as he was there, a win seemed very much possible.
After Adil Rashid got the better of Mahmudullah (25) and Mushfiqur Rahim (12) in quick succession and the Tigers were down to 153 for 4, Shakib and Imrul kept Bangladesh hopes alive in a match that kept changing colours.
Shakib blasted 79 in just 55 balls with 10 fours and a six, but it was Ball’s day, the pacer bragging a five for to mark a dream debut.
Adil had four wickets to his name to help Ball restrict the hosts.
Earlier, England skipper Jos Buttler hammered 63 off 38 balls after a Ben Stokes century as the Three Lions set Bangladesh a target of 310.
Buttler hit three fours and four sixes after coming to the crease in the 40th over, as the visitors plundered 89 runs in the last 10 overs.
Winning the toss, Buttler had opted to bat first and his openers made a decent start. After they made 41 in the first wicket, Shafiul Islam gave the
Tigers the much-needed break through when he made James Vince (16) give a catch to his skipper Mashrafe Bin Mortaza. Shakib then put an end to Vince’s fellow opener Jason Roy’s innings, the English World Cup hero making 41 off 40 with five fours and a six. Jonny Bairstow fell victim to a run out soon afterwards, without adding a single run as England were soon down to 63 for 3.
Up stepped Stokes and Ben Duckett, also on his debut, who made 153 in the fourth wicket partnership to steady the ship. Duckett returned to the pavillion hitting 60 off 78 balls, but Stokes notched his maiden ODI ton courtesy of eight fours and four sixes. But soon after reaching the century, he was undone by Mashrafe, as Sabbir Rahman took an easy catch. Stokes’ 101 runs came in just 100 balls.
Mashrafe, Shafiul and Shakib grabbed two wickets each for Bangladesh.
Ball was adjudged the man-of-the-match, earning the rare feat of winning the accolade on debut.