The Cottagers, who had picked up just one point from their previous seven games, took the lead in the 22nd minute through Alex Kacaniklic, with Dimitar Berbatov and Urby Emanuelson sealing the win after the break.
Swansea enjoyed an extended spell of pressure during the second half but Fulham keeper Mark Schwarzer frustrated them with fine saves from Pablo Hernandez, Wayne Routledge and Ashley Williams.
There was a party atmosphere at the Liberty Stadium at the conclusion of a campaign which has seen Swansea secure their first major silverware in the form of the Capital One Cup and claim a top-10 league finish.
A win here could have seen them finish eighth, but any suggestion Swansea were in for an easy ride were quickly dispelled and Bryan Ruiz should have given the Cottagers the lead in just the third minute.
Kacaniklic threaded a pass through the Swansea backline but Ruiz dallied after beating Chico Flores and the chance was lost.
Swansea settled after the early scare, and Routledge fired narrowly wide having linked smartly with Jonathan de Guzman and Nathan Dyer.
Hernandez then failed to make the most of a good opportunity as he dragged wide after picking off a misplaced pass from Philippe Senderos.
It proved costly as Fulham went up the other end to grab the opener.
Ruiz and Berbatov combined to put Kacaniklic through, with Williams playing him yards onside, and the Sweden international calmly slotted a left-footed shot low past Michel Vorm.
The same player should have doubled the visitors' advantage 10 minutes later.
Swansea were caught sleeping as Ruiz took a quick free-kick but Vorm deflected Kacaniklic's shot onto the post.
Swansea's first half was summed up seconds before the break when De Guzman beat Michu to a header from Angel Rangel's cross, with the Spaniard well placed to convert his 23rd goal of the season.
The hosts pressed for an equaliser upon the resumption and were fortunate not to be picked off on the counter.
Eyong Enoh broke up play to release Berbatov, only for the Bulgarian's ambitious outside-of-the-foot pass to prove too strong for the supporting Ruiz.
However, the visitors were soon forced into desperate defence, with Schwarzer finding himself heavily overworked.
The Australian saved a Williams header at the back post, before making further stops from Flores, De Guzman and Routledge.
Hernandez had Swansea's clearest sight of goal yet on the hour as Rangel turned a Leon Britton pass into the winger's path but Schwarzer was quickly out to make the stop.
The pair went head-to-head again moments later and it was again the Fulham man who came out on top, tipping the Spaniard's placed shot round the post.
And all Swansea's pressure came to nothing as Berbatov got Fulham's second 13 minutes from time.
Ruiz was the architect, catching Rangel lying deep behind the rest of his back four to send the former Manchester United man clear to laconically round Vorm and slot into an empty net.
Substitute Emanuelson rounded off the scoring in stoppage time by tapping home after Vorm could only parry Giorgos Karagounis' effort.