Jack Butland - 7
Was off his line quickly several times to collect the ball on the edge of his area when Villa went long. Couldn't do too much about the opener as Ollie Watkins guided the ball past him. Kept Palace in the game late on by first denying Lucas Digne and then John McGinn.
Nathaniel Clyne - 7
Forced a corner just before half-time after firing a low, driven shot towards the corner of Emi Martinez's goal before having another good chance soon after. Could have closed down Lucas Digne's cross quicker for the goal but was still one of the best Palace players on the pitch.
Joachim Andersen - 7
Made a good block to stop a cross reaching Ollie Watkins in the first ten minutes before doing enough to put Danny Ings off the subsequent shot. Did brilliantly to recycle Gallagher's free-kick in the second half and get the ball back into the box for the equaliser.
Marc Guehi - 6
Put in a composed first-half performance and worked well alongside Joachim Andersen to deal with Villa's long balls. Should have done better to deal with Ollie Watkins for the opener as he was left in a tangle in the box with the striker. Did well to get a header on Andersen's cross for the equaliser.
READ MORE: Aston Villa vs Crystal Palace highlights as Jeffrey Schlupp secures point on the road for the Eagles
Cheikhou Kouyate - 6
Didn't look comfortable defending one against one but won his physical battles more often than not. Lost the ball to John McGinn just before half-time which led to Danny Ings firing wide moments later when he should have punished the Eagles.
Tyrick Mitchell - 6
Back in the team and given a license to roam forward and be part of the Palace front line. Was put under more pressure during the second half with the overlapping Matty Cash getting more involved.
Luka Milivojevic - 5
Wasn't involved too much in midfield but didn't do himself a disservice in what might well be his final appearance in a Palace shirt. Wasted a good chance to get the ball into the box from a free-kick as he failed to beat the first man.
Conor Gallagher - 6
Booked early on for a poor challenge on John McGinn but saw more of the ball than usual from midfield. Didn't really make the most of his opportunities and lacked cutting edge when inside the Villa box.
Ebere Eze - 8
Found space in between the Villa lines and played some good, eye of the needle passes between defenders to release Zaha. Probably his best performance of the season.
Jean-Philippe Mateta - 6
Had a quiet first 45 minutes but improved in the second period. Beat Tyrone Mings on the wing with some good skill and stood up a cross that was eventually cleared.
Wilfried Zaha - 7
Made some good touches and carries of the ball during the first half and was the liveliest of Palace's forwards. Was targeted by Villa at times and took some big challenges from John McGinn but continued to play well.
Substitutes
Odsonne Edouard (for Jean-Philippe Mateta 71') - 6
Booked for a clumsy foul on Emiliano Buendia.
Jeffrey Schlupp (for Ebere Eze 78') - 8
Reacted perfectly to Guehi's header and smashed home the equalise from close range to spark wild scenes in the away end.
Christian Benteke (for Luka Milivojevic 78') - 6