Swansea recorded their first win in five Premier League games, as Fulham slipped closer to the relegation zone with just two victories in the last three months.
Danny Graham, playing in place of injured top scorer Michu up front, gave the visitors a first-half lead, before Jonathan de Guzman made it two.
Bryan Ruiz got one back after a scramble on the goal line.
But it was not enough, leaving Fulham with just one win in their last 12.
Swansea kept up their unbeaten record against Fulham in the Premier League, having done the double over them last season.
It also maintained their unique record of winning all six of the games in which they have opened the scoring this season.
For Swansea, this was proof there is life without talisman Spanish talisman Michu and Graham made the most of his return to the side with his goal.
But Fulham's goalkeeper David Stockdale had a game he would rather forget as two errors were pounced on by the Welsh side.
Fulham v Swansea facts
- Swansea have beaten Fulham in all three of their Premier League meetings, conceding just one goal.
- Fulham have won only one of their last 12 Premier League games (W1 D5 L6).
- 93% of Swansea's goals this season have come from open play, the highest proportion in the top-flight.
- Danny Graham scored only his fourth goal away from home in the Premier League for Swansea - his other 10 have come at the Liberty Stadium.
- Swansea have lost only two of their last 11 Premier League matches (W4 D5 L2).
Striker Dimitar Berbatov had the first clear-cut chance to put the home side ahead but he scuffed his kick just inside the six-yard box from a corner and the ball flew over the crossbar.
Swansea then took the lead against the run of play when Stockdale made a meal of a relatively easy cross from winger Nathan Dyer, with Graham on hand to score his first Premier League goal since August.
Fulham nearly drew level moments later, midfielder Kerim Frei flashing his left-foot strike across goal when he really should have tested Swansea's German goalkeeper Gerhard Tremmel.
Tremmel was called into action again towards the end of the half when he parried a left-foot strike by Fulham's Ruiz around his right-hand post.
Ruiz had another chance to bring the hosts level just after the break as Tremmel could only watch the Costa Rican's free-kick fly past the post.
But Martin Jol's team soon found themselves 2-0 down after Stockdale's clearance hit defender Brede Hangeland and De Guzman pounced.
The home side finally scored when Ruiz found the back of the net after the ball broke to him from a Berbatov shot that came back off the bar, the goal going in off Sacha Riether, who Swansea protested was standing offside.
Berbatov thought he had levelled when he was first to a Ruiz shot parried by Tremmel but the Bulgarian striker was offside.
- 13 Stockdale
- 05 Hangeland
- 17 Briggs
- 18 Hughes
- 27 Riether
- 07 Sidwell Booked
- 14 Karagounis Booked
- 21 Frei (Senderos - 84' )
- 09 Berbatov
- 11 Ruiz
- 24 Dejagah (Rodallega - 76' )
- 38 Etheridge
- 02 Kelly
- 03 Riise
- 04 Senderos
- 06 Baird
- 15 Richardson
- 20 Rodallega
- 25 Tremmel
- 06 Williams
- 16 Monk
- 21 Tiendalli
- 22 Rangel
- 11 Pablo (Davies - 66' )
- 12 Dyer
- 15 Routledge (Ki Sung-Yeung - 46' )
- 20 De Guzman
- 26 Agustien Booked (Britton - 82' )
- 10 Graham
- 01 Vorm
- 02 Bartley
- 33 Davies
- 07 Britton
- 24 Ki Sung-Yeung
- 17 Shechter
- 19 Moore
Live Text Commentary
Full Time The referee signals the end of the game.90:00 +1:25
Nathan Dyer challenges Giorgos Karagounis unfairly and gives away a free kick. Bryan Ruiz sends in a cross, Close range headed effort by Dimitar Berbatov clears the crossbar.90:00 +0:16
Corner taken left-footed by Bryan Ruiz from the left by-line, clearance by Sung-Yeung Ki.89:57
The ball is swung over by Matthew Briggs, Garry Monk manages to make a clearance.89:35
The ball is delivered by Matthew Briggs, Dwight Tiendalli makes a clearance.87:57
Unfair challenge on Dwight Tiendalli by Sascha Riether results in a free kick. Gerhard Tremmel restarts play with the free kick.87:44
A cross is delivered by Matthew Briggs, clearance by Ashley Williams.87:21
The ball is delivered by Matthew Briggs.86:52
Free kick awarded for an unfair challenge on Dimitar Berbatov by Leon Britton. Free kick taken by Giorgos Karagounis.86:39
The ball is swung over by Nathan Dyer, David Stockdale makes a save.85:54
Foul by Giorgos Karagounis on Angel Rangel, free kick awarded. The free kick is swung in right-footed by Jonathan de Guzman, save by David Stockdale.85:41
The ball is swung over by Nathan Dyer, clearance by Aaron Hughes.85:19
Outswinging corner taken right-footed by Jonathan de Guzman from the right by-line, clearance by Bryan Ruiz.84:57
Effort on goal by Angel Rangel from 25 yards. David Stockdale makes a save.84:33
The ball is sent over by Angel Rangel.83:20 Substitution
Substitution Philippe Senderos is brought on as a substitute for Kerim Frei.82:43
Steve Sidwell concedes a free kick for a foul on Leon Britton. Leon Britton restarts play with the free kick.82:01
Jonathan de Guzman takes a inswinging corner.81:19 Substitution
Substitution (Swansea) makes a substitution, with Leon Britton coming on for Kemy Agustien.81:03
The ball is swung over by Angel Rangel, Giorgos Karagounis makes a clearance.
Kerim Frei concedes a free kick for a foul on Dwight Tiendalli. Kemy Agustien takes the free kick.78:57
Direct strike on goal from the free kick comes in from Hugo Rodallega.78:57 Booking
Booking Kemy Agustien is booked.78:46
Free kick awarded for an unfair challenge on Hugo Rodallega by Kemy Agustien.78:19
The ball is sent over by Matthew Briggs, Garry Monk manages to make a clearance.76:30
Direct effort from the free kick comes in from Jonathan de Guzman.76:30 Booking
Booking The referee books Steve Sidwell for unsporting behaviour.76:21
Unfair challenge on Sung-Yeung Ki by Steve Sidwell results in a free kick.76:01
Drilled left-footed shot by Danny Graham. Save made by David Stockdale.75:20 Substitution
Substitution (Fulham) makes a substitution, with Hugo Rodallega coming on for Ashkan Dejagah.74:56
Dimitar Berbatov takes a shot. Ashley Williams gets a block in.74:43
Ashkan Dejagah sends in a cross, Ashley Williams makes a clearance.73:40
Shot by Giorgos Karagounis. Sung-Yeung Ki gets a block in.72:10
The ball is crossed by Ashkan Dejagah.71:45
Centre by Jonathan de Guzman, clearance made by Giorgos Karagounis.70:14
Steve Sidwell challenges Nathan Dyer unfairly and gives away a free kick. Direct free kick taken by Ben Davies.69:09
The referee blows for offside against Dimitar Berbatov. Free kick taken by Gerhard Tremmel.68:50
Giorgos Karagounis takes a shot. Save made by Gerhard Tremmel.67:55
Kerim Frei takes a shot. Save made by Gerhard Tremmel.67:33
Inswinging corner taken left-footed by Bryan Ruiz, Ashley Williams manages to make a clearance.66:55
Free kick awarded for a foul by Dwight Tiendalli on Kerim Frei. Free kick crossed by Bryan Ruiz, clearance by Ashley Williams.65:53 Substitution
Substitution (Swansea) makes a substitution, with Ben Davies coming on for Pablo Hernandez.65:15
Corner taken short by Sascha Riether, Bryan Ruiz produces a cross.63:12
Inswinging corner taken right-footed by Jonathan de Guzman from the left by-line, Close range header by Ashley Williams misses to the right of the goal.62:47
Danny Graham takes a shot. Save by David Stockdale.60:41
Kerim Frei fouled by Kemy Agustien, the ref awards a free kick. Giorgos Karagounis restarts play with the free kick.60:21
Ashkan Dejagah concedes a free kick for a foul on Dwight Tiendalli. Dwight Tiendalli takes the direct free kick.59:33
Inswinging corner taken left-footed by Bryan Ruiz, save by Gerhard Tremmel.58:51
Bryan Ruiz takes a shot. Ashley Williams gets a block in.58:50
Steve Sidwell takes a shot. Blocked by Garry Monk.58:29
Sascha Riether takes a shot. Garry Monk gets a block in.55:29
Dimitar Berbatov provided the assist for the goal.55:29 Goal scored
Goal! - Bryan Ruiz - Fulham 1 - 2 Swansea Bryan Ruiz grabs a goal from close in to the bottom right corner of the goal. Fulham 1-2 Swansea.55:28
Dimitar Berbatov takes a shot. Dimitar Berbatov takes a shot. Angel Rangel gets a block in.54:31
Shot by Bryan Ruiz from 20 yards. Save by Gerhard Tremmel.51:49
Assist by Pablo Hernandez.51:49 Goal scored
Goal! - Jonathan de Guzman - Fulham 0 - 2 Swansea A goal is scored by Jonathan de Guzman from just inside the area to the bottom right corner of the goal. Fulham 0-2 Swansea.50:50
Corner taken by Bryan Ruiz, Steve Sidwell has a headed effort at goal from deep inside the area missing to the right of the goal.50:12
Centre by Dimitar Berbatov, clearance made by Ashley Williams.48:13
Centre by Ashkan Dejagah, brilliant save by Gerhard Tremmel.47:55
Ashkan Dejagah delivers the ball, clearance by Angel Rangel.45:38
Unfair challenge on Giorgos Karagounis by Sung-Yeung Ki results in a free kick. Bryan Ruiz produces a shot on goal direct from the free kick.45:01
The referee blows his whistle to start the second half.45:01 Substitution
Substitution Wayne Routledge leaves the field to be replaced by Sung-Yeung Ki.45:00 +1:20 Half time
Half Time The ref blows to end the first period.45:00 +0:50
Free kick awarded for an unfair challenge on Danny Graham by Brede Hangeland. Direct free kick taken by Pablo Hernandez.44:18
Free kick awarded for an unfair challenge on Matthew Briggs by Angel Rangel. Steve Sidwell takes the direct free kick.43:32
Steve Sidwell gives away a free kick for an unfair challenge on Wayne Routledge. Direct free kick taken by Garry Monk.42:32
Steve Sidwell takes a shot from long range which goes wide right of the goal.41:16
Bryan Ruiz gives away a free kick for an unfair challenge on Jonathan de Guzman. Direct free kick taken by Garry Monk.40:50
Sascha Riether produces a cross, clearance by Ashley Williams.40:05
The ball is crossed by Bryan Ruiz, comfortable save by Gerhard Tremmel.39:48
Giorgos Karagounis fouled by Danny Graham, the ref awards a free kick. Direct free kick taken by Bryan Ruiz.39:32
The ball is crossed by Ashkan Dejagah, clearance made by Ashley Williams.39:07
The ball is crossed by Pablo Hernandez, save made by David Stockdale.38:27
Inswinging corner taken left-footed by Bryan Ruiz played to the near post, Danny Graham makes a clearance.37:31
Shot by Bryan Ruiz from 20 yards. Gerhard Tremmel makes a brilliant save.36:13
Pass corner from right by-line taken by Jonathan de Guzman to short, Aaron Hughes makes a clearance.33:18
Dwight Tiendalli takes the free kick.33:18 Booking
Booking Giorgos Karagounis goes into the referee's book.33:09
Giorgos Karagounis challenges Nathan Dyer unfairly and gives away a free kick.32:57
Centre by Kerim Frei, save by Gerhard Tremmel.32:13
The ball is delivered by Bryan Ruiz, Danny Graham gets a block in.31:37
Inswinging corner taken left-footed by Bryan Ruiz, Gerhard Tremmel makes a save.31:26
Ashkan Dejagah delivers the ball, blocked by Dwight Tiendalli.27:25
Free kick awarded for an unfair challenge on Jonathan de Guzman by Dimitar Berbatov. Free kick taken by Kemy Agustien.27:11
Kerim Frei fouled by Angel Rangel, the ref awards a free kick. Free kick taken by Steve Sidwell.26:46
Effort on goal by Bryan Ruiz from just inside the area clears the bar.26:23
A cross is delivered by Sascha Riether.26:11
The ball is delivered by Giorgos Karagounis, Ashley Williams manages to make a clearance.24:22
Foul by Ashley Williams on Kerim Frei, free kick awarded. Shot comes in from Bryan Ruiz from the free kick.22:09
The ball is swung over by Angel Rangel, Steve Sidwell manages to make a clearance.20:24
The ball is sent over by Sascha Riether, Shot by Kerim Frei from deep inside the penalty area misses to the right of the target.18:30
Assist by Nathan Dyer.18:30 Goal scored
Goal! - Danny Graham - Fulham 0 - 1 Swansea Danny Graham fires in a goal from close range to the bottom right corner of the goal. Fulham 0-1 Swansea.18:28
Nathan Dyer takes a shot. Save by David Stockdale.18:10
Danny Graham takes a shot. Save by David Stockdale.17:32
Corner from the left by-line taken by Jonathan de Guzman, Brede Hangeland manages to make a clearance.17:21
A cross is delivered by Wayne Routledge, clearance by Aaron Hughes.15:31
Nathan Dyer produces a cross, clearance made by Aaron Hughes.14:39
Outswinging corner taken by Jonathan de Guzman from the right by-line played to the near post, clearance made by Dimitar Berbatov.13:32
Garry Monk concedes a free kick for a foul on Brede Hangeland. Direct free kick taken by David Stockdale.13:08
Outswinging corner taken from the right by-line by Jonathan de Guzman.12:52
Nathan Dyer takes a shot. Blocked by Matthew Briggs.11:54
Giorgos Karagounis delivers the ball, Ashley Williams makes a clearance.9:24
Inswinging corner taken left-footed by Bryan Ruiz, Dimitar Berbatov conjures a right-footed shot from inside the six-yard box that clears the bar.8:15
Free kick awarded for a foul by Ashkan Dejagah on Dwight Tiendalli. Direct free kick taken by Gerhard Tremmel.6:04
Foul by Dwight Tiendalli on Bryan Ruiz, free kick awarded. Bryan Ruiz crosses the ball from the free kick left-footed from right channel, Gerhard Tremmel makes a save.4:45
Unfair challenge on Garry Monk by Dimitar Berbatov results in a free kick. Gerhard Tremmel restarts play with the free kick.4:22
Steve Sidwell takes a shot. Blocked by Garry Monk.2:40
Outswinging corner taken from the right by-line by Jonathan de Guzman, Steve Sidwell makes a clearance.2:23
Wayne Routledge crosses the ball, Matthew Briggs manages to make a clearance.2:01
Inswinging corner taken from the left by-line by Giorgos Karagounis, clearance made by Danny Graham.1:46
A cross is delivered by Matthew Briggs, Kemy Agustien gets a block in.0:00
The match has kicked off.
Live data and text provided by our data suppliers