Roberto Mancini's side kept its title hopes alive as it overcame a resolute Royals side with a late goal from Gareth Barry
The Premier League champion was in command for the vast majority of the game but was only able to make its advantage tell when the England midfielder headed in David Silva's left-wing cross in added time.
City boss Roberto Mancini made two changes to the side that won at Newcastle last weekend, with 18-year-old defender Karim Rekik making his full debut in place of Gael Clichy, and Gareth Barry coming in for Samir Nasri. Reading meanwhile, made four changes from its heavy defeat against Arsenal, as Chris Gunter, Alex Pearce, Jem Karacan, and Ian Harte were all named in the starting eleven.
The hosts made the brighter start to proceedings and after half-chances from Carlos Tevez and Matija Nastasic, Mancini's men should have taken the lead but were denied by Adam Federici, who produced a superb close range save from Tevez after the Argentinian had latched on to compatriot Sergio Aguero's fine flick-on.
Reading defended resolutely following that early opening, and frustrated City for much of the first half, however the champion was able to create some opportunities, most notably when Gareth Barry powered a header towards goal from a Tevez cross, only to see his effort comfortably held by Federici.
City continued to pile the pressure on the Reading goal, but the opener continued to elude it; Yaya Toure had a claim for a penalty turned down after Tevez and David Silva combined beautifully on the right, and Pablo Zabaleta was also unlucky not to have netted when his deflected shot looped just over Federici's bar.
The Royals had been on the back-foot for the entirety of the opening period, but they almost grabbed the advantage early in the second as Pearce headed just over from a Harte corner.
Still it was the home side which carried the much greater threat, and will have wondered just how it had not taken the lead when Pablo Zabaleta's ball evaded both Tevez and substitute Dzeko with the goal gaping. The introduction of Dzeko appeared to galvanize City and he was at the hub of another attack minutes later, heading inches above the bar from a Tevez corner.
The visiting defense remained stern in spite of City's dominance however and although Mancini's men dictated the play, Reading could perhaps have taken all three points had it been more clinical on the counter. Indeed, Brian McDermott's side again went close as Pearce directed another header just wide from a fine set piece delivery from Harte.
Sergio Aguero, the hero of City's title winning campaign last season, almost gave the home fans another late showing as he broke free before firing into the side netting. However it was Barry who delivered the finale when he powered a header into the net with just minutes to play to maintain the Citizens' title tilt.