Crystal Palace moved out of the relegation zone thanks to a brace from striker Andy Johnson as Aston Villa sunk to a fourth straight away defeat.
Johnson fired the Eagles ahead after 33 minutes when he poked home a rebound after Villa keeper Thomas Sorenson spilled Ben Watson's powerful drive.
He added a second from the penalty spot in the 66th minute when Vassilis Lakis was brought down by Mark Delaney.
Villa's best effort saw Steven Davis denied by Palace keeper Gabor Kiraly.
Juan Pablo Angel was left to operate as a lone striker for the visitors as teenager Luke Moore was dropped to the bench in favour of midfielder Davis.
And with transfer target James Beattie opting to move to Everton, Villa boss David O'Leary's lack of attacking options were exposed again at Selhurst Park.
Kiraly held firm to Gareth Barry's header after a well-worked move down the right by Ulises de la Cruz. And Barry was unlucky seven minutes later when his right-footed effort fizzed just wide of the far post.
But Palace, searching for their first win in 11 games, looked threatening on the break.
Wayne Routledge had his half-hearted penalty appeal brushed aside after de la Cruz clipped his ankles.
Then, Greek international Lakis tested the Villa defence still further when he lost de la Cruz and lashed a shot in from the left, which a stretching Sorenson pushed to safety.
The Villa keeper could have done better when he gifted Johnson the lead. The Dane pushed Watson's low drive into the path of the striker who wasted no time burying the ball to notch up his 50th goal for the club.
The Palace defence kept Angel at bay as Villa's poor away form continued
Johnson looked to have doubled his tally just before half-time but his goal was ruled out because Routledge's corner was judged to have taken the ball out of play.
Referee Andy D'Urso incensed the crowd after the break when Lakis was denied a penalty after being nudged by de la Cruz.
But Palace's shouts were rewarded at the third time of asking when Lakis was tripped in the box by a mistimed tackle from Delaney. And Johnson stepped up to power home his fifth penalty of the season.
Iain Dowie's side could arguably have been given another spot-kick after Delaney handled the ball while lying on the ground in the box just three minutes later but D'Urso did not see the incident.
Villa's earlier flair had deserted them and their best effort by Davis was snuffed out by Kiraly.
That save prompted a scuffle which saw substitute Moore and Danny Granville booked. But no bad feeling was to temper Palace's spirits as they held on to a vital three points.
Crystal Palace: Kiraly, Butterfield (Boyce 75), Powell, Hall, Granville, Routledge, Watson (Leigertwood 66), Riihilahti, Hughes, Lakis, Johnson.
Subs Not Used: Speroni, Freedman, Shipperley.
Booked: Hughes, Granville.
Goals: Johnson 33, 66 pen.
Aston Villa: Sorensen, De la Cruz, Delaney, Ridgewell, Samuel, Solano, Hendrie (Luke Moore 66), McCann, Davis, Barry, Angel.
Subs Not Used: Postma, Berson, Whittingham, Stefan Moore.
Booked: McCann, De la Cruz, Luke Moore.
Ref: A D'Urso (Essex).