Relegation battlers Reading boosted their hopes of beating the drop with a 2-0 Barclays Premier League win over Manchester City at the Madejski Stadium.
A second-half strike from Shane Long and a late goal from substitute Dave Kitson proved enough for a second successive win by the Royals to move out of the bottom three.
City lost captain Richard Dunne to a leg injury, which needed stitches.
Reading made a bright start. John Oster broke into the right side of the penalty area, but his pass across the face of goal was just too far ahead of Kevin Doyle.
After 10 minutes, a free-kick from the left channel was floated into the City box - but captain Dunne was on hand to boot the ball clear.
The home side were closing down well, however.
Benjani Mwaruwari found some space and skipped clear into the right side of the Reading box. But his final touch was too heavy, taking the ball into the hands of goalkeeper Marcus Hahnemann.
A deep cross from John Oster then picked out Stephen Hunt at the far post, but his looping header was safely collected by City goalkeeper Joe Hart.
City almost snatched the lead after 24 minutes. A free-kick from the left touchline was sent over by Elano, and the ball bounced through to Vedran Corluka - who looked surprised at the chance and could only somehow guide it over the bar from five yards with his knee.
Benjani should have done better when he met Darius Vassell's cross at the far post, but headed tamely at the keeper.
good spell
City were forced into a change after 30 minutes when Dunne had to be taken off on a stretcher, replaced by Sun Jihai, after badly twisting and also cutting his knee following a challenge with Hunt.
Kevin Doyle flicked on a corner from Hunt at the near post, but the ball flew behind.
Shane Long then also went close, this time with a backward header from Oster's left-wing free-kick. Reading were enjoying a good spell as half-time approached.
Midfielder Marek Matejovsky drilled in a low, angled shot from the right edge of the penalty area, which Hart kept out with a fine reaction save.
Michael Johnson weaved into the Reading box, and went down under a challenge from Royals captain Ivar Ingimarsson - but referee Uriah Rennie was having none of it and booked the City man for what he saw as a dive.
At half-time, City revealed Dunne had received nine stitches in a shin wound and is now set for a spell on the sidelines.
Matejovsky had another chance to shoot from the edge of the area when the ball dropped to him following a corner but this time the Czech midfielder was way off target.
Slowly, City started to get a grip on the match. After 49 minutes, Gelson Fernandes let fly from 25 yards but his shot was straight at Hahnemann.
Elano was then given space on the left, and his low strike from distance was only just the wrong side of Hahnemann's right-hand post.
still dangerous
Reading, though, were still dangerous on the break, and Long just failed to connect with a deep ball from the right into the six-yard box.
As the hour mark passed, City sent on Ecuador forward Felipe Caicedo for Vassell.
The hosts continued to press and Doyle saw his angled drive from the right side of the area deflected into the side netting.
From the corner, Andre Bikey managed to get into space at the near post and slammed the ball goalwards, which Hart pushed onto the bar from point-blank range.
Reading, however, were soon in front. A goal-kick was flicked on by Ireland forward Long out to the left after 62 minutes. Doyle chased the ball down and held off Michael Ball before cutting inside to the goal-line.
His pull-back was straight into the path of the on-rushing Long, who had continued his run and made no mistake with a cool finish from five yards.
City replaced Hamann with Nery Castillo as Sven-Goran Eriksson looked to get back into the match.
Hart blocked a shot from Hunt as the Royals went in search of a goal to kill off the match.
The atmosphere inside the Madejski Stadium was tense as the match entered the final 10 minutes.
Long was given a rest when Reading sent on Dave Kitson. And the Reading substitute made sure of victory with a fine solo effort on 87 minutes, cutting in from the right before slotting into the bottom corner from 10 yards.