Gareth Barry headed a last-gasp winner as champions Manchester City denied Reading an unexpected and morale-boosting point at the Etihad Stadium.

City created numerous chances in a mostly one-sided affair completed in heavy rain but the visitors looked set to hold firm and lift themselves off the bottom of the Barclays Premier League.

But City fought to the end and Barry got on the end of a cross from David Silva to head home to much relief in injury time.

A seventh successive defeat was harsh on Reading, who after slumping 5-2 to Arsenal on Monday were much more resilient.

Under-pressure manager Brian McDermott always knew the game was a tough assignment but was moments away from claiming a more than creditable draw.

McDermott had made four changes with Jem Karacan returning from injury to make his first appearance since October while Chris Gunter, Ian Harte and Alex Pearce also came in.

It took less than two minutes for Adrian Mariappa to collect the game's first booking as he clattered into Carlos Tevez in an early attempt to impose himself.

Thereafter the visitors spent most of the rest of the first half on the back foot, with Mariappa and Pearce particularly working hard to repel attack after attack.

City could only curse their luck as they carved out several opportunities but failed to take them.

The hosts were so dominant that 18-year-old Karim Rekik, making his Premier League debut at left-back in the absence of Gael Clichy and Aleksandar Kolarov, was able to get through mostly untested.

The centre-back pairing of Kolo Toure and Matija Nastasic, while senior duo Vincent Kompany and Joleon Lescott looked on from the bench, also had a largely comfortable afternoon.

Tevez played in strike partner Sergio Aguero for City's first serious opportunity but Adam Federici rushed out to claim.

Aguero made another good run to reach the byline but his cross evaded everybody before Javi Garcia planted a firm header straight at Federici.

Silva played a neat one-two with Tevez but shot wide and Aguero then teed up Tevez but Federici saved. The ball rebounded to Tevez but his follow-up was deflected over.

A rare attack from Reading saw Karacan shoot well wide but City responded with Tevez crossing for Barry to head at Federici.

Silva jinked his way through the area to create another opportunity but Reading scrambled clear as Yaya Toure and Tevez jostled to reach his cross. Toure claimed he was impeded but referee Mike Dean saw nothing untoward.

Pablo Zabaleta had an effort deflected over and Nastasic also missed the target as City maintained the pressure.

Aguero burst through just before the break but Reading closed down shooting angles and Tevez could not get on the end of his cross.

Tevez threatened after the restart but could only shoot at Federici.

Tevez tried his luck again from a free-kick outside the area but his curling effort was pushed away from the top corner by the Reading keeper.

Reading could have snatched a shock lead when Pearce got forward to win a clear header from a Harte corner but his effort was well wide.

City boss Roberto Mancini decided it was time for change and sent on Edin Dzeko for the mostly ineffective Garcia.

The Bosnian was quickly into the action and was millimetres away from connecting with a header after good work by Zabaleta.

Dzeko did win a clean header at a corner on 66 minutes but his attempt flew narrowly over the bar.

There were clear signs that the home fans were growing frustrated with their side's ineffectiveness in front of goal as the game wore on.

Mancini made another change as Scott Sinclair came on for Tevez but it was Reading who next threatened as Pavel Pogrebnyak broke and crossed for Jay Tabb.

Tabb went down after colliding with Rekik but Dean did not feel there was a foul and nor did he see a possible handball against Nastasic as the ball came in.

Reading grew in confidence and and Pearce headed another good chance wide after Jimmy Kebe had won a corner with a good break down the right.

As the game moved into four minutes of injury time, City launched a final push.

Aguero fired into the side-netting but Barry came good as he jumped above the defence to reach Silva's ball and head firmly past Federici.