The Swans signed off 2012 in style with a 2-1 victory at Fulham thanks to goals in each half from Danny Graham and Jonathan de Guzman.
Graham, among seven changes in the starting XI, opened the scoring in the 19th minute following good work from Angel Rangel and Nathan Dyer.
The Swans doubled their lead in the second half, de Guzman coolly curling home after goalkeeper David Stockdale's clearance deflected off Brede Hangeland with the visitors taking immediate advantage.
But Fulham responded within two minutes, Dimitar Berbatov twice going close before the lively Bryan Ruiz found the net from six yards.
The Swans had to keep out huge pressure from the hosts, though Graham almost extended the lead on two occasions while Rangel was denied by a superb fingertip save from Stockdale.
It was enough to secure a fourth away win of the season - the Swans hadn't won once on the road at this point last season.
But Michael Laudrup's side enter 2013 on 28 points after 20 games and a spot in the top half.
The Swans made seven changes to the starting XI that drew at Reading on Boxing Day.
Michael Laudrup rang the changes with the Swans in the middle of a busy festive schedule.
Gerhard Tremmel was back between the sticks as Michel Vorm dropped to the bench, while Angel Rangel returned from injury in a defence also including Garry Monk, who captained the team. Ben Davies' inclusion on the bench meant Dwight Tiendalli starts at left-back.
In midfield, Kemy Agustien earned his second league start of the campaign alongside fellow Dutchman Jonathan de Guzman, while Wayne Routledge provided the attacking threat of the midfield trio.
Out wide, Pablo Hernandez recovered fully from injury so he made his first start since the 3-1 home win over West Brom in November, and, with top-scorer Michu injured, Danny Graham led the line in attack as he was included in the starting XI for the first time since the home loss to Norwich.
Fulham: David Stockdale, Brede Hangeland (capt), Steve Sidwell, Dimitar Berbatov, Bryan Ruiz, Giorgos Karagounis, Matthew Briggs, Aaron Hughes, Sascha Riether, Ashkan Dejagah (Hugo Rollallega, 76), Kerim Frei (Philippe Senderos, 84).
Subs: Neil Etheridge, Stephen Kelly, John Arne Riise, Chris Baird, Kieran Richardson.
Swans: Gerhard Tremmel, Angel Rangel, Garry Monk (capt), Ashley Williams, Dwight Tiendalli, Kemy Agustien (Leon Britton, 82), Jonathan de Guzman, Wayne Routledge (Ki Sung-Yueng, ht), Nathan Dyer, Pablo Hernandez (Ben Davies, 67), Danny Graham.
Subs: Michel Vorm, Kyle Bartley, Itay Shechter, Luke Moore.
At a windy Craven Cottage, it was Fulham who carved open the first chance as Dimitar Berbatov's volley from a Bryan Ruiz corner bounced over the crossbar ten minutes in.
But the Swans responded in the perfect manner with 19 minutes on the clock. After Danny Graham had seen his effort kept out by David Stockdale following an exquisite pass from Pablo Hernandez, the striker then took his big chance.
Nathan Dyer and Angel Rangel linked up, with the Spaniard's cross deflecting off Steve Sidwell to Dyer, and when his shot was palmed out by Stockdale, Graham's acrobatic effort bounced past the keeper and into the net.
Ruiz then flashed a 20-yard free-kick over the crossbar which failed to trouble Gerhard Tremmel, before the Costa Rican then found himself in space before curling a shot towards the far post, but Tremmel was alert to dive and tip the danger wide.
That was the action for the first half, with the Jack Army happy with their side's performance in the first half.
Half-time: Fulham 0 Swans 1
Michael Laudrup made a change at the break, with Ki Sung-Yueng replacing former Fulham loanee Wayne Routledge.
And after Ki was adjudged to have fouled Giorgos Karagounis, Ruiz's curling free-kick dropped just past the near post.
But the Swans took full advantage of a mistake from keeper Stockdale in the 53rd minute to double their lead. Graham did well to keep a chipped pass in play, and when Stockdale's attempted clearance cannoned off Brede Hangeland, Pablo Hernandez reacted quickly to win possession and touch inside to Jonathan de Guzman, who calmly slotted into the bottom far corner.
Fulham needed an instant response, and they got it two minutes later.
Kerim Frei's cross found Dimitar Berbatov, and when his header rebounded out off the crossbar, Garry Monk's headed clearance dropped to the Bulgarian, Berbatov's effort at goal dropped to Ruiz, who fired home from six yards.
The goal got the home crowd on their feet, and the Swans were having to deal with some heavy pressure.
That pressure was relieved slightly as Hernandez raced on after linking with Graham, and when the winger fed Graham in the box, the striker's effort was spilled for a corner by Stockdale.
From the delivery, Ashley Williams rose highest, but his header flashed past the far post.
Laudrup made another change on 67 minutes, Ben Davies replacing Hernandez, which saw the Wales international slot in at left-back, Tiendalli switch flanks with Rangel moving into midfield and Dyer swapping wings.
Tremmel then had to be on his toes to keep out a Frei volley before the hosts had the ball in the net once again, only to be denied by the offside flag as Berbatov thumped home after Tremmel had kept out another Ruiz shot.
Ki then threaded an excellent through ball for Graham, who was denied by the legs of Stockdale, before Laudrup his final substitution as Leon Britton came on for Kemy Agustien.
Rangel then went close with a thunderous effort which Stockdale tipped wide as the game entered the last five minutes.
And so the Swans held out to claim another valuable victory - their third consecutive win over Fulham in the Premier League.