Reading earned their second Premiership victory of the season thanks to Ivar Ingimarsson's goal against Manchester City at the Madejski Stadium.
Ingimarsson took a blow to the head when scoring his winner
The Icelander latched on to Bobby Convey's first-half free-kick to nod the ball into the corner of the net.
City dominated for long spells but were not clinical enough, Paul Dickov firing at Marcus Hahnemann and Georgios Samaras seeing a shot deflected wide.
Ousmane Dabo was sent off late on for using his elbow as Reading held on.
They deserved the three points for effort and commitment, but in truth City will be astonished to leave with nothing to show for their efforts.
Stuart Pearce's side dominated possession for much of the contest and if they had been more clinical in the final third could well have won the game.
They started brightly and had immediate joy down the right, with Trevor Sinclair and Micah Richards pouring forward at every opportunity.
One lovely passing move sent Richards to the byline, but Dickov could only strike the teenager's fine pull-back straight at Hahnemann from 10 yards.
Joey Barton was having a big influence on the game, spraying passes all around the pitch and going on one mazy run that ended with a cross Bernardo Corradi should have tucked away.
When a goal did come, it was against the run of play - to the delight of the home faithful.
Leroy Lita was fouled by Sylvain Distin and when the free-kick was swung in, Ingimarsson bravely stooped in a crowded box to head past Nicky Weaver into the far corner of the net.
As City dominated possession it was Reading who again fashioned the chances, Ingimarsson once more ghosting into the box to see a fierce left-foot shot tipped over by Weaver.
City were having trouble marking at set-pieces and Seol Ki-Hyeon was the next to take advantage, the unmarked South Korean powering a header over from Convey's corner.
Pearce was his usual frenetic self on the touchline and he had every right to be frustrated as City were continually let down by their inability to create clear-cut chances.
Dabo (right) saw red for this challenge on Sidwell near the end
His mood did not improve when he took off Richards just before the hour mark, the 18-year-old impetuously shrugging off his manager's handshake and from the bench throwing his shirt towards the touchline.
But bringing on Samaras for Dickov at the same time was nearly a masterstroke, as just seconds later the Greek striker forced a save from Hahnemann with his first touch.
Samaras went perilously close again soon after, his 20-yard drive deflecting off Ibrahima Sonko and Hahnemann completing the job by tipping it round the post.
But the visitors continued to struggle in both boxes. They failed to clear a cross at the other end and Kevin Doyle lashed over from six yards when he should have doubled the lead.
City's hopes of earning a point all-but evaporated when Dabo led with his arm in a challenge with Steve Sidwell and was dismissed by Howard Webb.
Weaver had to be at his best to tip Brynjar Gunnarsson's sensational 30-yard piledriver around the post at full stretch as Reading closed out the game.
Reading manager Steve Coppell on his defence:
"The back four have been terrific and with Marcus Hahnemann in goal too, they are a unit of five.
"Once a group of players are together for this long there's a certain amount of telepathy between them and they were really tested by City tonight.
"We've still got an awful lot to work on and it's hard to know where we are really, but we're certainly competing."
Manchester City boss Stuart Pearce:
"We're disappointed but I thought that was the best we've played this season. If you don't take your chances this is what happens.
"We're not conceding many which is good but we're not scoring and we need to."
On teenager Micah Richards' outburst when he was taken off, Pearce added: "I have to educate him, simple as that. I want to see spirit in all my players."
Reading: Hahnemann, Murty, Sonko, Ingimarsson, Shorey, Ki-Hyeon (Gunnarsson 76), Sidwell, Harper, Convey, Lita (Long 75), Doyle.
Subs Not Used: Little, Hunt, Stack.
Goals: Ingimarsson 23.
Man City: Weaver, Richards (Trabelsi 60), Dunne, Distin, Jordan, Sinclair, Barton, Dabo, Reyna (Miller 73), Dickov (Samaras 60), Corradi.
Subs Not Used: Hamann, Hart.
Sent Off: Dabo (80).
Booked: Distin, Reyna, Sinclair, Barton.
Ref: H Webb (S Yorkshire).