Chelsea fell behind following a scrappy opening at the Liberty Stadium.
Gylfi Sigurdsson scored with a volley from the edge of the area to put Swansea ahead after the Blues failed to properly clear.
Chelsea had just started to get on top, with Oscar close to opening the scoring.
The Brazilian’s effort went just over following a corner, while Ruben-Loftus Cheek had a shot easily saved and was then denied a tap-in by some last-ditch defending.
Blues goalkeeper Asmir Begovic, making his first Premier League start since November, was barely tested until a mistake by Matt Miazga forced him to make a fine save from Gylfi Sigurdsson.
Alexandre Pato, on his full Premier League debut, showed some bright touches without having a sight of goal.
But Sigurdsson’s strike put relegation-threatened Swansea ahead.
Gary Cahill failed his late fitness test, meaning Miazga is partnered in central defence by Branislav Ivanovic, who captains the team in the absence of John Terry.
Oscar also came in, for Kenedy, while youngsters Ola Aina, Charlie Colkett and Kasey Palmer are on the bench.
Subs: Nordfeldt, Naughton, Amat, Ki, Barrow, Routledge, Gomis.
Chelsea: Begovic; Azpilicueta, Miazga, Ivanovic, Baba Rahman; Mikel, Fabregas; Pedro, Loftus-Cheek, Oscar; Pato.
Subs: Courtois, Aina, Kenedy, Colkett, Palmer, Traore, Falcao.