Powell scored after an error from Tommy Rowe to give the visitors a 25th-minute lead and Fletcher doubled the lead following a free-kick just after the hour mark.
The woeful Robins could have no complaints about their latest loss and remain without a win at Ashton Gate since Nigel Pearson took over as manager in February.
Stoke's victory, their third in their last five games, moved them to within seven points of the play-off places.
A scrappy opening to the game was marked by passing errors from both teams and by the 20th minute neither goalkeeper had been required to make a save.
But Stoke struck when Potters full-back Rowe misjudged a long ball down the Stoke right and Jacob Brown set up Powell, who fired in from close range after his first effort was blocked.
Bristol City, unusually wearing a home strip of largely white shirts, struggled to put any meaningful moves together. Their only shot of note came after 34 minutes when Han-Noah Massengo picked out a run from Antoine Semenyo, whose low effort was saved by advancing Stoke goalkeeper Adam Davies.
Stoke deserved their half-time lead for being marginally the better of two ineffective teams.
It was a similar pattern after the break and the visitors scored again in the 62nd minute with their second shot on target.
Brown was fouled on the edge of the box and Fletcher sent a superb shot rocketing into the roof of the net after an exchange of short passes with Jordan Thompson at the free-kick.
However, the match came to a tame conclusion, with the visitors rarely threatened as they recorded a third straight clean sheet.
For Pearson, there appeared to be no positives as what was already a club-record run of successive home defeats was extended further.