Fulham claimed only their second league win of the season as Reading's poor away form showed no sign of ending.
Davies had a fine game for Fulham
Simon Davies volleyed Fulham ahead with a superbly struck shot after the ball came to him on the edge of the box.
The visitors deservedly drew level early in the second half as Kevin Doyle scored with a header after a corner.
Clint Dempsey poked the ball home for 2-1, with sub David Healy sweeping in a shot for the third, before the hosts had Elliot Omozusi sent off late on.
Reading might feel they should have come away from Craven Cottage with something from this game given Antti Niemi was the busier of the two goalkeepers.
But Steve Coppell's side were unable to convert possession into goals, and they have now managed to pick up just one point away from home this season.
Reading just shaded the opening 15 minutes but fell behind to Davies' superbly executed goal.
Just before the Welshman's strike, Aaron Hughes had forced a save from Marcus Hahnemann when the Reading 'keeper pushed away the Northern Ireland international's shot.
Reading could only partially clear the resulting corner and Davies' swerving volley - struck with the outside of his right foot from the edge of the area - curved its way into the back of the net.
It was a Dave Kitson header that had landed at Davies' feet, but the Reading striker led from the front in trying to redress the damage.
Some of his link-up play was exemplary, and the former Cambridge United striker tried his luck with an ambitious bicycle kick.
Early in the second-half Kitson's flick released the marauding Stephen Hunt, whose attempted lob was acrobatically saved by Niemi.
But the reprieve for Fulham was short-lived as Niemi lost the flight of the ball from a corner and Doyle headed home at the far post.
Fulham had struggled to create chances from open play, but the introduction of Shefki Kuqi and Healy provided some improvement in this part of their game.
Both played a key role in Fulham's second goal, Healy crossing from the right and Kuqi's aerial presence unsettling Reading, allowing Dempsey the opportunity to prod the ball home.
With Reading throwing players forward in search of the equaliser, Fulham were able to play on the counterattack and this strategy produced their third goal.
Davies scampered away down the right and his cross was expertly converted by Healy.
Soon afterwards Fulham youngster Omozusi was sent off after picking up a second yellow card.
The 18-year-old was only playing his second game for after making his debut last week against Sunderland.
Fulham manager Lawrie Sanchez:
"The introduction of Shefki was quite important. He won his first header and the crowd got behind him.
" It was a pity in a way he did't score our second goal but it was his leap that did it and Clint picked up the pieces.
"Shefki livened us up and David's only a sub because he needs to play alongside a big front man."
Reading boss Steve Coppell:
"I was confident at 1-1 but then Healy put in a great cross and Kuqi did well to get his head to it.
"After that I had to throw forwards on to get the game back, but we don't do kitchen sink very well and we left ourselves open at the back for Healy's goal.
"It is a disappointing result because I thought we were the more adventurous side but I'm not overconcerned about away form if we keep doing it at home."
Fulham: Niemi, Stefanovic, Omozusi, Ashton, Hughes, Davies, Murphy, Davis, Bouazza (Kuqi 60), Dempsey, Kamara (Healy 67).
Subs Not Used: Warner, Ki-Hyeon, Leijer.
Sent Off: Omozusi (90).
Booked: Stefanovic, Omozusi, Healy.
Goals: Davies 18, Dempsey 72, Healy 90.
Reading: Hahnemann, Murty (Long 87), Duberry, Sonko, Shorey, Gunnarsson, Harper, Hunt, Lita (Convey 76), Kitson, Doyle.
Subs Not Used: Federici, Ingimarsson, Rosenior.
Goals: Doyle 54.
Ref: Mark Clattenburg (Tyne & Wear).