Buttler scored an unbeaten 80 while Ali added a quickfire 70 off 51 balls as England reached 313 for 6 in 46.1 overs, having restricted a Bangladesh Court Board (BCB) XI to 309 for 9 in the 50-over match.
Opener Imrul Kayes scored 121 off 91 balls for the hosts while Bangladesh's Test captain Mushfiqur Rahim, who was a late call-up, made 51 to ensure the the BCB XI posted a competitive score at Dhaka's Fatullah Stadium.
Injured Anderson to miss Bangladesh tour
The BCB had appeared on course for a much higher total but only managed 49 runs in their last 10 overs as England's seamers took six wickets.
Chris Woakes picked up three wickets for 52 runs while David Willey and Ben Stokes grabbed two apiece.
Openers Jason Roy and James Vince gave England a positive start by putting on 72 for the first wicket but the innings then lost momentum.
Ali joined Buttler at the crease after the fifth wicket fell with the score on 170 and the duo gradually regained control and stitched together a 139-run partnership.
Bangladesh assures England as tour begins
Ali was dismissed as the scores were level but Buttler, who hit three fours and four sixes in his 64-ball innings, polished off proceedings by striking a boundary off the first ball of the 47th over.
The uncapped Ebadat Hossain was the pick of the Bangladeshi bowlers, taking 2-26.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ