Tony Pulis's men were rewarded for a fine performance with the winger's winner late in the second half at Selhurst Park, opening up a seven-point gap between them and the drop
Jason Puncheon scored the only goal of the game towards the end of the second half after some fine work by Yannick Bolasie got the beating of Matthew Lowton, rewarding Tony Pulis's men for a fine performance.
Though referee Howard Webb reversed a decision to award Palace a second-half penalty at Selhurst Park, Puncheon's 76th-minute strike, his third goal in two games, ensured that Palace's impressive revival under Pulis continued.
The result leaves the London club, who have kept four clean sheets in their last five matches, seven points clear of the relegation zone. Villa, meanwhile, have lost four straight games and now sit just four points above third-bottom Fulham.
|VIEW FROM SELHURST PARK
|By Harry Sherlock
Sometimes you need to win ugly and Crystal Palace did just that against Aston Villa on Saturday afternon. They were by far the better side but the football on show, at times, was dire.
The Eagles fans are unlikely to care, however, with chants of "we are staying up" ringing around the ground at the full-time whistle. After that display, it would be hard to argue against the statement.
Paul Lambert, however, will be wondering what happened to his players - who simply did not turn up.
Pulis named an unchanged team but, after Kagisho Dikgacoi went off injured, he was forced into an early substitution, sending on Marouane Chamakh and reverting from a 4-5-1 formation to 4-4-2.
Almost immediately, Chamakh's strike partner, Cameron Jerome, hacked Agbonlahor's downward header off the Palace goalline.
Then, following neat build-up play from Delph and Grant Holt, Damien Delaney flung himself in the way of Ashley Westwood's piledriver to make a decisive block.
In the 36th minute, Palace created a great opportunity with a cleverly worked free kick. Mile Jedinak shaped to shoot but instead gave the ball to Puncheon, who slid the ball through for Bolasie inside the area. Bolasie claimed to have been impeded by Holt as he looked to shoot but, as the ball drifted wide, the referee waved away Palace's penalty appeals.
Four minutes after the restart, Agbonlahor tried his luck from the edge of the box but Julian Speroni made a comfortable save.
Jerome then missed a glaring chance to score only his second goal in 26 Premier League games this season. Bolasie tricked Matthew Lowton with step-overs and unleashed a shot, which Brad Guzan blocked. The ball fell to Jerome, unmarked at the back post, but, with the net unguarded, he fired the ball against the crossbar.
The lively Bolasie's low drive from the edge of the box went just wide on the hour as Palace ramped up the pressure.
Webb pointed to the spot in the 68th minute when the Palace players appealed for handball against Clark but changed his mind after talking to one of his assistants.
Bolasie then sprinted down the left and provided a fine cross for Puncheon, who controlled the ball neatly, swivelled and fired a low shot home.
Puncheon then hit the bar after a quick counterattack but Palace had Speroni to thank for keeping all three points.
In the 88th minute, the in-form Argentine goalkeeper, who turns 35 in May, made a superb save to deny Andreas Weimann from close range, leaving Villa to reflect on an increasingly perilous position in the table.