Swansea had the better of the early exchanges, although their neat passing often did not result in many clear-cut chances. Their first real effort on goal came in the 14th minute when Shelvey ballooned a shot over from inside the area.
Fulham started to get back into the game and Brede Hangeland should really have given them the lead when he found himself unmarked on the edge of the six-yard box from a Kieran Richardson free-kick, but he could only head the ball over.
The home side came closest to scoring in the first half, when Pablo Hernandez fed Shelvey on the edge of the area, but his powerful side-footed effort crashed against the bar.
The game was changed by the introduction of Nathan Dyer in the second half, playing for the first time in eight games, who immediately gave the Swans more impetus.
He was involved in the first goal, creating space and feeding Shelvey, whose shot flicked off Steve Sidwell and Hangeland, completely deceiving Marten Stekelenburg in the Fulham goal and nestling in the corner of the net.
The victory was sealed in the 75th minute, when Chico's header took a flick off Dimitar Berbatov and Stekelenburg failed to keep it out.
The win takes Michael Laudrup's side into the top half of the table, although they are still only six points clear of the bottom three, while Fulham remain just a point from safety.
PRE-MATCH - Fulham are unchanged from the team that lost to Arsenal last time out in the league, but 11 alterations are made from the side that drew with Sheffield United in the FA Cup at the weekend. Adel Taarabt isn't involved at all, amid talk that AC Milan want to sign him on loan. Jonathan De Guzman returns for Swansea, as does Pablo Hernandez, with the Jordi Amat and Alejandro Pozuelo dropping to the bench.
40’ - SO CLOSE FOR SWANSEA - Hernandez drifts inside from the right and feeds Shelvey around 20 yards out, and his side-footed shot smacks against the bar.
61’ - GOAL - SHELVEY GIVES SWANSEA THE LEAD - And quite a lucky one too - Dyer feeds Shelvey around 25 yards from goal, and it takes not one but two deflections off Sidwell and Hangeland, and completely fools Stekelenburg.
75’ - GOAL - CHICO SEALS IT FOR SWANSEA - That should be that. De Guzman flings the free-kick over from the right, and the Spanish defender gets there at the near post with the header, which deflects off Berbatov and beats Stekelenburg.
This was Swansea's first win in nine games, ending their longest winless run in the Premier League.
Jonjo Shelvey is yet to finish on the losing side in the Prem when he has scored (four wins, one draw).
Fulham have become the first non-promoted side to concede 50 top-flight goals in a season in their first 23 matches since Aston Villa in 1986/87.
Fulham's stop-start revival stops again. While Rene Meulensteen's side have picked up nine points since he took over, they have also lost far too many games. This was their 16th defeat of the season, the most in the Premier League, and they have only drawn once. They defended relatively well, but their midfield was simply overrun, particularly when they switched to a 4-4-2 system, leaving Scott Parker and Steve Sidwell with far too much work against Swansea's slick passing.
MAN OF THE MATCH
Nathan Dyer (Swansea): He may only have been on the pitch for 35 minutes, but he was the difference between the two sides after coming on, providing the directness and pace that Swansea lacked. Kieran Richardson had been winning his battle with Pablo Hernandez, but was lucky not to be sent off after resorting to wrestling Dyer to the ground on a couple of occasions, such was the winger's dominance.
Swansea: Tremmel 5; Rangel 6, Chico 7, Williams 6, Davies 6; Britton 6, de Guzman 7; Routledge 7, Shelvey 7, Hernandez 5; Bony 7. Subs: Amat 5, Dyer 8, Pozuelo 5.
Fulham: Stekelenburg 7; Riether 5, Hangeland 6, Burn 6, Richardson 5; Dejagah 5, Parker 5, Sidwell 5, Kačaniklić 6; Dempsey 6; Berbatov 5. Subs: Duff 5, Tankovic 5, Bent 5.
MATCH IN A TWEET