Second-half goals from Jonjo Shelvey and Chico Flores sent the Swans up to tenth as they ended their winless run against Fulham at Liberty.
Following a goal-less first half, which saw Jonjo Shelvey rattle the woodwork, the Swans stepped up a gear after the break.
The introduction of Nathan Dyer, back in action for the first time since December 15, paid dividends for the Swans as he played a part in both goals.
Dyer created the opener just three minutes after having come on for Pablo Hernandez, with the winger teeing up Shelvey, whose shot took deflections off Steve Sidwell and Brede Hangeland before bouncing into the net.
Then, in the 76th minute, Dyer won a free-kick after a Kieran Richardson challenge was punished, and when Jonathan de Guzman crossed for Chico Flores, the Spaniard's header bounced off Dimitar Berbatov and into the net.
It was a crucial win for the Swans as they moved six points clear of third-bottom West Ham, who have a game in hand.
This win ended a winless run of eight league games for Michael Laudrup's side, who now face crucial fixtures against West Ham, Cardiff and Stoke City.
The Swans made six changes to the starting XI.
From the side that beat Birmingham City in the FA Cup, full-backs Angel Rangel and Ben Davies started while Jonathan de Guzman and Jonjo Shelvey made their return from injury.
Wayne Routledge was also given the nod on the wing while top-scorer Wilfried Bony - who bagged both goals at St Andrew's - was recalled to lead the line.
On the bench, Nathan Dyer was included for the first time since damaging ankle ligaments in the 1-1 draw at Norwich City on December 15.
SWANS:Gerhard Tremmel, Angel Rangel, Chico Flores, Ashley Williams (capt), Ben Davies, Leon Britton, Jonathan de Guzman (Alejandro Pozuelo, 88), Jonjo Shelvey (Jordi Amat, 79), Wayne Routledge, Pablo Hernandez (Nathan Dyer, 58), Wilfried Bony.
SUBS: David Cornell, Neil Taylor, Roland Lamah, Alvaro Vazquez.
FULHAM:Maarten Stekelenburg, Brede Hangeland (capt), Steve Sidwell, Dimitar Berbatov (Muamer Tankovic, 83), Alex Kacaniklic, Kieran Richardson, Ashkan Dejagah (Darren Bent, 58), Sascha Riether, Scott Parker, Clint Dempsey (Damien Duff, 71), Dan Burn.
SUBS: David Stockdale, Aaron Hughes, Hugo Rodallega, Lasse Vigen Christensen.
The Swans made an encouraging start, and managed to create a few opportunities within the opening 15 minutes.
Wilfried Bony managed to beat Dan Burn to Wayne Routledge's cross, but the Ivorian couldn't hit the target as his header dropped onto the top-netting.
Some neat link-up play by Angel Rangel and Pablo Hernandez sent the latter down the right flank, and he cut inside to the unmarked Jonjo Shelvey, but the midfielder's effort curled high and wide.
Then it was the turn of Ashley Williams, with the Swans skipper flinging out a boot to meet Jonathan de Guzman's free-kick, but Maarten Stekelenburg wasn't troubled as the ball bounced harmlessly wide.
The visitors then had their first opportunity, and it was a big one at that as Kieran Richardson's pinpoint free-kick found Brede Hangeland, but the big centre-back headed over from just eight yards out.
Another chance came Fulham's way, with Alex Kacaniklic running down the left after a swift counter, and when he picked out Ashkan Dejagah, the latter failed to make the most of his opportunity as he headed over.
Dejagah was at it again soon after as he linked up with Dimitar Berbatov, but this time he was denied by Williams' block.
The Swans, though, went within inches of breaking the deadlock in the 41st minute.
Hernandez came inside off the right wing before teeing up Shelvey, but his fierce strike beat the diving Stekelenburg but not the crossbar as it thundered back off the woodwork.
That was the end of the action of the first half, with both sides creating decent chances.
HALF-TIME: Swans 0 Fulham 0
The Swans again started the half strongly, and with six minutes gone they gave Fulham a big scare as a de Guzman corner found the head of Chico Flores, but his goalbound effort was swatted away by the fingertips of Stekelenburg.
Then it was de Guzman's turn to probe, as the Dutchman got onto the end of Ben Davies' pass but his shot curled wide, before the midfielder went for goal again a minute later but Stekelenburg got down low to collect.
Michael Laudrup then made a change before the hour mark as Nathan Dyer came on in place of Hernandez, while Fulham sent Darren Bent on for Dejagah.
And Dyer was straight into the action as he teed up Shelvey, but Stekelenburg watched calmly as the ball curled wide of the far post.
But Dyer's next involvement was crucial in the 61st minute. After Bony touched wide to the substitute, Dyer again teed up Shelvey, and his powerful shot deflected off Steve Sidwell and then Hangeland to wrongfoot Stekelenburg and bounce into the net.
The Swans went in search of another goal, and de Guzman was denied by a fine reflex save from Stekelenburg, with the Dutch keeper tipping his shot over for a corner.
Fulham immediately made their second substitution as Damien Duff replaced Clint Dempsey.
But the Swans did double their lead after 76 minutes, and another deflection played a big part.
After Dyer had won a free-kick down the right, de Guzman's delivery found Chico, and his header deflected off Berbatov and into the net.
Laudrup made another change as he looked to protect that lead as Jordi Amat replaced Shelvey.
And they did just that as the Swans comfortably saw out the remainder of the game to claim three vital points.