After 10 overs, England were 67 without loss – their best opening powerplay in three World Cup matches so far.
Roy was 38 not out and Bairstow 27 not out.
Both openers have come unstuck against spin during this tournament – a 104-run win for England over South Africa and an unexpected 14-run defeat by Pakistan.
So it was no surprise when Bangladesh opened the bowling with left-arm spinner Shakib Al Hasan.
But on a green-tinged, if slow, pitch, England played him comfortably enough.
Roy got the innings going with a straight-driven four in the second over off Bangladesh captain Mashrafe Mortaza and gave the same treatment to Shakib.
Englands openers also took advantage of the big square boundaries at Sophia Gardens to complete an all-run four as the slow-moving Mossadek Hossain struggled to get round at deep midwicket.
Bairstows four off Mohammad Saifuddin saw England’s openers to a fifty partnership in 47 balls.
Bangladesh, like England, had won one and lost one of their two matches coming into Saturdays clash, with the Tigers beating South Africa before losing to New Zealand by two wickets.
Bangladesh defeated England at both the 2011 and 2015 World Cups.
England: Jason Roy, Jonny Bairstow, Joe Root, Eoin Morgan (capt), Jos Buttler (wkt), Ben Stokes, Chris Woakes, Adil Rashid, Liam Plunkett, Jofra Archer, Mark Wood
Bangladesh: Tamim Iqbal, Soumya Sarkar, Shakib Al Hasan, Mushfiqur Rahim (wkt), Mohammad Mithun, Mahmudullah, Mosaddek Hossain, Mohammad Saifuddin, Mehidy Hasan Miraz, Mashrafe Mortaza (capt), Mustafizur Rahman