Swansea slipped to their first home defeat since November as they missed the chance of moving back into the play-off places.
There was one change in their starting line-up with Mark Gower out wide in place of Tom Butler.
The Swans won two corners straight from the kick-off but it was Palace's Nick Carle who had the first goal attempt when his low drive went straight to Dorus de Vries.
A free-kick from an Alan Tate foul on Anthony Stokes in the 17th minute almost reaped reward for Palace but the loose ball was hacked clear by Ashley Williams.
A superb pass from Gower out wide to Angel Rangel gave the Spaniard chance to run into the danger area and from the resulting corner, Williams headed straight Julian Speroni in the Palace goal.
When Carle was penalised for a foul on Jordi Gomez, Gower's free-kick was headed behind for a corner but Darren Pratley lifted his shot high over the bar.
The first half drew to a close with Palace preventing the Swans from playing their swift-passing game but without ever threatening the home goal.
The Swans made a change at the interval with Matty Collins replacing skipper Tate and it was Collins who raced through in the 47th minute to strike a post with Speroni beaten.
In the 49th minute, Palace went ahead thanks to hesitancy in the Swansea defence.
Shefki Kuqi challenged Alberto Serran for a high clearance and when the ball ran loose to Victor Moses, he lashed his shot over de Vries.
Swansea should have levelled in the 58th minute when Nathan Dyer rounded Speroni only to fire wide of an empty goal.
Despite all Swansea's pressing it was Palace who increased their lead in the 61st minute when a corner by Carle was pulled back at the far post by Stokes for Jose Fonte to head in from the goalline.
Swansea pulled one back five minutes later when substitute Gorka Pintado beat the offside trap before shooting low beyond Speroni.
Although the Swans pressed hard for an equaliser, it was Palace who made the game safe in the third minute of injury time when Kuqi rounded two home defenders before sliding his shot into the far corner of the net.