Two headed goals from central defender Andre Bikey steered Reading to a vital win over Birmingham City.
Victory takes Reading four points clear of the Midlanders in the battle near the foot of the table.
Reading's goals both came from set-pieces and each time Bikey managed to elude Fabrice Muamba before powering headers past Maik Taylor. Bikey had previously scored just one goal this season.
The Cameroon international had given Reading a first-half lead only to see Mauro Matias Zarate equalise after the break, before Bikey added his second 11 minutes from time.
Reading's opening goal came in the 31st minute. Stephen Hunt chased a seemingly lost cause and put pressure on Muamba.
The Birmingham midfielder attempted to hook the ball clear, but referee Mike Riley penalised him for foot up near Hunt's face.
John Oster took the free-kick out on the left wing and Bikey managed to escape from Muamba just long enough to get his head to the ball and nod Reading ahead.
They deserved their lead after having the better of the first half chances, not least when Hunt ended a long run from inside his own half with a shot that hit Birmingham's crossbar.
Reading had created most of the early chances and were particularly dangerous with crosses from each wing, but Birmingham also had their moments.
Gary McSheffrey sent an early free-kick straight at Reading keeper Marcus Hahnemann and then shot wide after Liam Rosenior slipped and left him with a clear sight of goal.
Mikael Forssell also had a chance, but stabbed his effort just wide of the post when he should have been on target.
At half-time spectators watched the bizarre sight of the pitch being watered by the sprinkler system during a torrential hailstorm.
They then saw Reading miss a great chance when Oster jabbed his foot at a cross from Kevin Doyle, sending the ball high over the bar from close range, then have a strong appeal for handball in the penalty area rejected by Mr Riley.
They paid dearly minutes later when Birmingham grabbed an equaliser. Forssell held off Bikey's challenge and crossed into the goalmouth, where Zarate turned the ball in from close range.
Birmingham almost added a second a few minutes later when Forssell was allowed to shoot from what appeared to be an offside position. Fortunately for Reading, Hahnemann made a point-blank save to turn the ball away for a corner.
Reading manager Steve Coppell then went for the win, taking off midfielder Oster and replacing him with striker Shane Long, but it was defender Bikey who went on to win the game for him.