Hal Robson-Kanu’s two goals against Fulham inspired Reading to record their first win in 11 and lifted them off the bottom of the Premier League.
Bryan Ruiz struck twice for Fulham but further goals from Adam Le Fondre and Jem Karacan took the game away from the home side.
Robson-Kanu was tripped by John Arne Riise just inside the penalty area as he nipped in front of the Norwegian as he attempted to clear the ball.
The Reading winger picked himself up to take the penalty and coolly passed the ball into the bottom left corner sending Mark Schwarzer the wrong way.
It could have been so different for Reading as they were indebted to Alex McCarthy in goal for keeping the game at 0-0 just a minute into the match.
Giorgos Karagounis spread the ball wide to Damien Duff, who instantly controlled and cut inside from the right. His cross to the far post found Urby Emanuelson but his diving effort was straight at McCarthy, who cleared with his legs.
Then, in the 12th minute, Reading got their breakthrough as Robson-Kanu was tripped by Riise in the penalty area and the winger got up to score from the spot.
Fulham began to turn the screw as Martin Jol took Karagounis off in the 28th minute to be replaced by Hugo Rodallega, who would join Dimitar Berbatov up front for the home side.
Suddenly Ruiz was finding all sorts of space in the midfield and was pulling the strings for Fulham.
The Costa Rican began the play in the 32nd minute by spreading the ball out to Emanuelson on the left. The cross was over-hit and found Berbatov at the far post. He controlled and set Duff up for another cross which found Ruiz at the far post.
He nodded the ball down to Rodallega who was just six yards out but his chest and volley was well saved down low by McCarthy.
Reading held on to half-time and came out in the second in search of another goal.
In the 62nd minute Robson Kanu made it two for him and for his side after picking up a deflected shot on the inside right of the penalty area and bending the ball into the bottom corner.
Ruiz started get on the ball more and equalised in the 70th minute as he played a delightful one-two with Rodallega. He got on the end of the pass and managed to nutmeg McCarthy to put Fulham back in the game.
Just five minutes later though Reading were able to restore their two-goal lead through super-sub Le Fondre. A long ball found the striker on the wrong side of Kieran Richardson at left back. As Schwarzer came steaming out to get the ball Le Fondre managed to nod the ball past the keeper and then finished from a tight angle.
Just two minutes later and Ruiz got his second after a delightful cross from Alex Kaciniklic found the Costa Rican free in the six-yard box to head home.
As if the game hadn’t had enough drama, Reading went up the other end in the 83rd minute to pull away again.
This time Fulham failed to clear a cross from Garath McCleary effectively. The ball dropped to Karacan on the edge of the box and he bent the ball past Schwarzer into the bottom corner.
Fulham continued to press and hit the bar soon after as Rodallega met a cross with a fabulous strike.
However, Reading were able to see out the game and find themselves off the bottom of the Premier League. Fulham remain on 40 points - five clear of relegation.
MAN OF THE MATCH
Hal Robson-Kanu (Reading) - Was a thorn in Riise’s side all afternoon and more than deserved his two goals. When Fulham changed their full-back to contain the Welsh winger, it made no difference and Robson-Kanu continued to cause problems for Fulham’s defence.
FULHAM: Schwarzer 5, Riether 5, Senderos 5, Hangeland 5, Riise 4, Karagounis 4, Ruiz 8, Duff 6, Enoh 5, Emanuelson 6, Berbatov 6. Subs: Rodallega 7, Kaciniklic 6, Richardson 4.
READING: McCarthy 8, Gunter 6, Kelly 6, Mariappa 7, Morrison 7, Karacan 7, Guthrie 7, McAnuff 8, Robson-Kanu 9, McCleary 8, Pogrebnyak 6. Subs: Blackman 6, Le Fondre 8, Carrico 6.