Crystal Palace Bakary Sako marked his debut with a goal to earn the Eagles their first home win of the season.
Winger Sako, a summer signing from Wolves, fired Palace to all three points when he struck with just three minutes left.
Palace had a goal ruled out on the hour when James McArthur deflected in Dwight Gayle’s shot but was in an offside position.
There was nothing wrong with Scott Dann’s 71st minute header from Jason Puncheon’s corner which found the top corner to give Palace the lead.
The hosts were pegged back six minutes later when Villa levelled against the run of play, Papa Souare unluckily deflecting sub Adama Traore’s cross into his own net.
But Palace had the final say when Dann robbed Villa left-back Jordan Amavi and cut the ball back for Sako who curled the winner past Brad Guzan from just inside the box.