The meeting between the two sides brought back memories of last season's final day 3-2 classic but City were hoping to avoid the need for such dramatics this time out.
Yaya Toure gave them an early lead and the champions proceeded to completely dominate the first half without being able to double their advantage.
Bobby Zamora then scored a scarcely deserved equaliser in the 59th minute for the visitors from West London but Edin Dzeko, making his first start since March, headed City back in front two minutes later.
City would have been expected to push on from there and kill off the game but instead they tired badly giving a previously laboured QPR side a chance of an unlikely point.
However, despite playing seven summer signings, QPR were similarly uninspired, and Carlos Tevez redirected a mis-hit Edin Dzeko shot into the net in stoppage time to wrap up the victory.
An indication of City's early domination was the fact that their opening goal came from what was already their seventh corner of the match in just the 16th minute.
Samir Nasri curled the corner to the back post where Tevez shot against Zamora – the ball then bounced out to Yaya Toure near the penalty spot and the Ivorian fired home the opener.
QPR were completely devoid of ambition in the first half and just sat back in numbers hoping that City wouldn't break them down.
Roberto Mancini's men had a number of chances but it was somehow only 1-0 at the break. The closest QPR actually came was a bizarre clearance from halfway back towards his own goal by Jack Rodwell that sailed just over.
The second-half followed a similar patter and Pablo Zabaleta was desperately unlucky not to score in the 52th minute when, after been slipped in by a cute David Silva pass, he curled a great effort off the underside of the crossbar.
Then QPR scored completely against the run of play in the 59th minute. Andy Johnson nicked David Silva in possession and ran into the box; he fired a shot on goal that took a deflection and Joe Hart did superbly well to save it, however, he could only put it into the path of Johnson's former Fulham team-mate Zamora who nodded home a header from two yards.
That seemed to wake up City though who had the lead again just two minutes later.
Tevez was again involved as he reacted quickly to a fizzed ball by Aleksandar Kolarov into the box to push the ball forward with his right foot before pulling back a cross with his left from the end-line that landed perfectly on Dzeko's head, allowing the big striker to nod home from close range.
However, after that City got sloppy again and seemed to tire badly. New signing Esteban Granero was having a decent game for QPR in midfield and the booked Kolarov was perhaps lucky to stay on the pitch after barging into Anton Ferdinand and then his replacement Nedum Onuoha.
QPR did create a couple of changes as City looked gassed but they were perhaps unlucky that their two best openings fell to centre back Ryan Nelsen who mis-hit one effort and couldn't get onto the end of another cross that Jolean Lescott had failed to deal with.
Instead it was City who would get the game's fourth goal, as Tevez scored his 50th Premier League goal when he redirected a poor effort from Dzeko past Rob Green.
It was fully deserved, as the Argentine had allowed Yaya Toure to feed the Bosnian by harassing the QPR defenders in possession.
It was again a stoppage time goal from an Argentine against QPR, but while it may not have had the drama of last season's meeting between the sides, and Sergio Aguero's heroics, three points are three points, and once again it was City who took the spoils.