The loss compounded QPRâ€™s horror run on the road, making it 15 games since they won away and 18 since they were able to keep a clean sheet not at Loftus Road.
It was inevitable that City would open the scoring and it came in the 16th minute when Carlos Tevezâ€™s deflected volley fell to Yaya Toure who hammered home on his left foot for his second in two games.
City appeared to be in control until Bobby Zamora bobbed up with a close range header after Joe Hart had kept out Andy Johnsonâ€™s powerful drive but his parried block fell into the path of the Râ€™s striker who had no trouble making it 1-1 just before the hour-mark.
If you blinked you wouldâ€™ve missed Cityâ€™s second as it came moments after QPRâ€™s leveller when Tevez was slipped in by Aleksandar Kolarov with the Argentine taking a neat first touch before volleying into the path of Edin Dzeko to head home from inside the six-yard box.
QPR came hard at the champs but City managed a third in injury time when Dzeko received a pass from Toure with the Bosnianâ€™s shot being guided into the back of the net by Tevez for his 50th Premier League goal for the club and his fourth in four fixtures dating back to the Community Shield.
Earlier, City had a very strong start and could have gone ahead when Dzeko headed on target in the 12th minute but Fabio was well-placed to clear off the line before Yaya Toureâ€™s follow-up was blocked.
It was a relentless start by the champions and after Toureâ€™s opener, Robert Green came up with a good reaction save to deny David Silva from close range.
City had to endure some shaky moments late as QPR worked their way forward in search of an equaliser with Ryan Nelsen twice finding himself in scoring positions but thankfully the New Zealand defender could not convert as Roberto Manciniâ€™s men came away with maximum points even though they should have put the visitors away long before the final whistle.
Etihad Stadium, Manchester â€“ 45,579