Match ends, Cardiff City 0, Crystal Palace 3.
Cardiff City plunged deeper into Premier League relegation trouble as Crystal Palace moved closer to safety with an emphatic win in south Wales.
Palace winger Jason Puncheon's precise low drive gave Tony Pulis's side a deserved lead before half-time.
Former Cardiff midfielder Joe Ledley pounced on a rebound from close range, before Puncheon curled in a magnificent third from 20 yards.
Second-bottom Cardiff are six points from safety, with Palace up to 14th.
The defeat leaves the Bluebirds' hopes of avoiding an instant return to the Championship hanging by a thread with just five games remaining.
Palace, promoted to the Premier League last season alongside their opponents, have opened up a seven-point gap on third-bottom Fulham.
Cardiff went into the crucial match as the only side with a worse away record than Palace - the Londoners had scored just six goals on the road all season.
The Eagles, fresh from an impressive 1-0 win against Chelsea last weekend, are hitting form at the right time and showed the same hard work and desire they displayed against the title-chasing Blues.
A scrappy first half saw plenty of toil and sweat but no real goalmouth action for either set of supporters - who were both in fine voice from the first whistle - to cheer.
Cardiff pushed forward in numbers and looked to attack at every opportunity, while Palace put bodies behind the ball before trying to hit their hosts on the break.
The Welsh side looked to get ex-Eagles winger Wilfried Zaha into the game as much as possible in the opening exchanges.
The Manchester United loanee, who left Selhurst Park in the summer, troubled his old team-mates with his pace and skill but failed to produce a telling delivery for Cardiff's attackers to convert.
Despite their territorial advantage, the Bluebirds' best chance came via a Palace player.
Eagles goalkeeper Julian Speroni dived low to his left to turn the ball behind after defender Adrian Mariappa headed Jordon Mutch's cross towards his own goal, under pressure from Fraizer Campbell.
And Palace took a precious lead when Puncheon fired in after Ledley's pass found him in space inside the Cardiff box.
Zaha drifted out of the game and was booed by large sections of the Cardiff supporters as he was replaced by Craig Noone in the second half, much to the delight of visiting Palace fans.
Cardiff continued to press forward in search of a way back into the game and Noone's introduction nearly paid off. Kenwyne Jones beat Speroni to the winger's cross and headed the ball towards goal, only for Marouane Chamakh to head the ball clear.
And Palace's top scorer, himself a second-half substitute, set up his team's second with a header from Puncheon's free-kick.
Bluebirds keeper David Marshall saved the Moroccan striker's effort but the ball rebounded to former Cardiff hero Ledley, who tapped the ball into the net.
The Wales international, who said in the lead-up to the match that he wanted both sides to stay up, did not celebrate on his first return since leaving for Celtic in July 2010.
Cardiff continued to pour forward in numbers but could not create anything to trouble Speroni's goal.
And Puncheon sealed the points late on curling the ball home from the edge of the area following a Palace counter-attack.
For a photo gallery from Saturday's Premier League action, visit the BBC Sport Facebook page.
- 8MedelBooked at 70mins
- 6TurnerBooked at 68mins
- 36ZahaSubstituted forNooneat 62'minutes
- 9JonesSubstituted forCowieat 78'minutes
- 29DaehliSubstituted forBellamyat 72'minutes
- 15Wolff Eikrem
- 27Torres Ruiz
- 3MariappaBooked at 74mins
- 2WardBooked at 38mins
- 30JeromeBooked at 35minsSubstituted forMurrayat 83'minutes
- 28LedleyBooked at 78minsSubstituted forParrat 79'minutes
- 7BolasieSubstituted forChamakhat 64'minutes
- Phil Dowd
- Shots on Target
Second Half ends, Cardiff City 0, Crystal Palace 3.
Attempt blocked. Glenn Murray (Crystal Palace) right footed shot from the right side of the box is blocked. Assisted by Marouane Chamakh.
Attempt saved. Jason Puncheon (Crystal Palace) right footed shot from the right side of the box is saved in the bottom right corner. Assisted by Glenn Murray.
Attempt saved. Andrew Taylor (Cardiff City) header from the centre of the box is saved in the centre of the goal. Assisted by Don Cowie with a cross.
Attempt saved. Fraizer Campbell (Cardiff City) left footed shot from the right side of the box is saved in the bottom right corner.
Goal! Cardiff City 0, Crystal Palace 3. Jason Puncheon (Crystal Palace) left footed shot from outside the box to the top left corner. Assisted by Adrian Mariappa.
Kévin Théophile-Catherine (Cardiff City) wins a free kick in the defensive half.
Foul by Glenn Murray (Crystal Palace).
Attempt missed. Craig Bellamy (Cardiff City) right footed shot from outside the box is high and wide to the right. Assisted by Don Cowie.
Substitution, Crystal Palace. Glenn Murray replaces Cameron Jerome.
Attempt missed. Fraizer Campbell (Cardiff City) header from the right side of the six yard box misses to the right. Assisted by Craig Bellamy with a cross following a corner.
Corner, Cardiff City. Conceded by Damien Delaney.
Foul by Ben Turner (Cardiff City).
Damien Delaney (Crystal Palace) wins a free kick in the defensive half.
Delay over. They are ready to continue.
Substitution, Crystal Palace. Jonathan Parr replaces Joe Ledley because of an injury.
Substitution, Cardiff City. Don Cowie replaces Kenwyne Jones.
Joe Ledley (Crystal Palace) is shown the yellow card for a bad foul.
Delay in match Joe Ledley (Crystal Palace) because of an injury.