Dimitar Berbatov's immaculate volley was enough to beat Stoke City and earn Fulham just their fourth victory in 19 Premier League games.
Berbatov smashed the ball in from 10 yards to give them a deserved lead deep into first-half injury-time.
Stoke wasted a glorious chance to level after the break when Mark Schwarzer saved a Jonathan Walters penalty.
But Fulham continued to create the better chances and held on to move nine points clear of the relegation zone.
Stoke were much improved after the interval but, following a lively start to the second half in which Peter Crouch went close and Walters saw his spot-kick brilliantly saved, the hosts were able to see out the win without too much fuss.
Ultimately, it was a piece of Berbatov brilliance that was the difference between the sides but, until his strike, he had been at his most infuriating. The Bulgarian's languid style regularly leads to criticism that his effort does not match his artistry, and for 46 minutes the flicks and tricks failed to come off - his most notable contribution had been to inadvertently elbow Stephen Nzonzi in the face.
But the goal, his ninth of the season on his 200th Premier League start, was worth the wait. Like nearly all of Fulham's best chances in a first half in which the hosts always looked the more likely to open the scoring, it was created on the right flank.
Fulham were the better side before the break and deservedly led when Dimitar Berbatov thumped home a sumptuous volley. Stoke improved in the second half but Jonathan Walters had his penalty well saved and Fulham held on.
Right-back Sascha Riether provided the crucial overlap and the telling cross and Berbatov carefully watched the ball drop onto on his right foot and crashed it past a helpless Asmir Begovic on the angle.
Berbatov had earlier volleyed over from six yards after more good work on the right by Riether and Ashkan Dejagah and, in a rare foray forward on the left, John Arne Riise forced a comfortable save from Begovic.
The visitors had been happy to sit and wait and play on a break - a tactic that brought their
only previous away league victory of the season at West Brom.
A fine move involving Walters and Peter Crouch could easily have led to a far-post tap-in for Matthew Etherington but the cross was knocked away to safety by Schwarzer.
Etherington was then taken off with a back injury and the visitors threatened only rarely until the start of the second half when they had their best two openings.
The first came when Fulham defender Philippe Senderos made a complete mess of trying to allow the ball to run back to Schwarzer and the goalkeeper had to be alert to block Crouch's effort.
And they had an even better chance to equalise when Dejagah blocked debutant
cross from the left with his arms but Walters saw his penalty kept out by a fine low diving stop from Schwarzer.
Fulham's defensive improvement
Fulham have now kept two clean sheets in two Premier League games, having conceded in each of their previous 11 top-flight fixtures.
After that it was Fulham who seemed the more likely to add to the tally.
Berbatov went close with another measured volley and Riise almost curled in a delicious second for the home side with the outside of his left foot.
But the hosts did not need the luxury of a second goal and moved up to 11th place in the table, one place and one point behind Stoke, whose abysmal away form continues.
Fulham manager Martin Jol:
"Overall, if you saw the first half, we were the better team. It is always difficult against them and they changed their system and have all these big guys up front.
"We should have scored a second goal but we didn't and in the end they could have punished us for the fact that we only scored one goal, but Mark Schwarzer saved the day for us."
Stoke manager Tony Pulis:
"The first half was a very, very dead game and the only bit of quality was Berbatov's. Personally I think Fulham did not cause us many problems in the second half. We needed to score the penalty but we didn't.
"If we score the penalty then it is a different game. We have been closer in away games this year and have had opportunities and chances that we haven't taken."
- 01 Schwarzer
- 03 Riise
- 04 Senderos
- 05 Hangeland
- 27 Riether
- 07 Sidwell
- 14 Karagounis (Baird - 81' )
- 16 Duff (Emanuelson - 86' )
- 09 Berbatov (Petric - 90' )
- 11 Ruiz Booked
- 24 Dejagah
- 38 Etheridge
- 06 Baird
- 18 Hughes
- 28 Emanuelson
- 31 Kacaniklic
- 10 Petric
- 20 Rodallega
- 01 Begovic
- 02 Cameron (Jerome - 51' )
- 04 Huth
- 12 Wilson Booked
- 17 Shawcross Booked
- 30 Shotton
- 06 Whelan
- 15 Nzonzi Booked
- 26 Etherington (Shea - 24' )
- 19 Walters
- 25 Crouch (Jones - 70' )
- 29 Sorensen
- 16 Adam
- 18 Whitehead
- 21 Kightly
- 22 Shea
- 09 Jones
- 33 Jerome