After Foden fired in from Riyad Mahrez's excellent cross to put the visitors ahead early on, the Robins came close in their search for an equaliser when Sam Bell headed wide in the second half.
Bristol City's hopes of producing a shock were soon dashed, though, as Foden's deflected effort found the bottom corner before De Bruyne lashed in from range to put the tie beyond doubt.
Pep Guardiola's men made it 11 consecutive away wins in the FA Cup to boost their hopes of lifting the trophy for a seventh time.
The visitor rattled the crossbar through Kalvin Phillips within the opening two minutes, but it did not have to wait too much longer to open the scoring.
Great work from Mahrez down the right ended with a pinpoint cross for Foden, who made no mistake with the back-post finish.
Nigel Pearson's men produced a spirited response with Alex Scott testing Stefan Ortega, though Mahrez saw a volley cleared off the line at the other end as Man City took a narrow lead into the break.
The hosts continued to threaten after the break as the home crowd roared them on in hope of an unlikely upset, with Bell missing a great opportunity to level when his close-range header flew wide.
Bell was made to pay for that miss shortly after, with Foden's low strike inadvertently helped into his own goal by Zak Vyner, and De Bruyne added a late third with a brilliant long-range drive to ensure Man City's safe passage into the final eight.