Gareth Barry scored in injury time to hand Manchester City a priceless victory over Reading to close the gap on Manchester United at the top of the table.

Roberto Mancini's men moved to within three points of their local rivals at the Premier League summit but an unconvincing display had the Etihad Stadium faithful on tenterhooks before Barry popped up with the winner.

Defeat was the Royal's seventh in succession and leaves at the foot of the table, six points from safety, with consecutive home games against Swansea and West Ham on the horizon after Christmas.

Manager Brian McDermott will certainly see the positives of holding the Champions for 92 minutes but knows they need to start picking up points if they to avoid an immediate return to the Championship.

They started brightly and should have led after Jobi McAnuff headed over the bar but were powerless to resist as the hosts clicked into their stride with Sergio Aguero and Carlos Tevez leading the way.

City had won all 13 league games in which the pair had started together and Tevez was the first to make an impact, crossing for Barry to send a powerful header straight at Adam Federici.

The Argentinian was soon involved again as he saw a shot deflected over  just moments after Yaya Toure saw his penalty appeals waved away by referee Mike Dean after a clash with Alex Pearce.

It would have certainly rubbed salt into the City wound had Pearce managed to direct his header from Ian Harte's corner goal wards in what proved to be Reading's clearest chance of the game.

Substitute Edin Dzeko failed to live up to his super sub reputation as he spurned two opportunities after coming on, while Reading saw a few half chances go begging.

And the visitors were left feeling hard done by when Barry climbed above Shorey to head home the winner in the second minute of added on time, with the visitors protesting that the City midfielder had committed a foul.