The hosts led through Bertrand Traore’s early opener and should have been further ahead when Tyrone Mings was shown two yellow cards in quick succession just before half-time.
Palace were unable to take advantage, though, failing to seriously test Emi Martinez in a second half that saw Kortney Hause and Anwar El Ghazi extend Villa’s lead.
The result lifted Villa into the Premier League‘s top six – for a few hours at least – while Palace have now conceded 10 goals in two matches after last weekend’s hammering by Liverpool.
Palace nearly made the perfect start when Wilfried Zaha was played clean through, catching Mings on his heels, inside the first minute but Martinez produced a good save.
And it was Villa who took the lead with less than five minutes on the clock.
Traore played in Ollie Watkins down the right and was on hand to thump the ball into the net when goalkeeper Vicente Guaita parried Watkins’ shot into the middle of the box.
Villa looked dangerous every time they came forward and Traore almost grabbed a second in the 17th minute, cutting in from the right and beating Guaita with a shot that bounced away off a post.
The Palace keeper then denied Jack Grealish after he had taken advantage of more holes in the visitors’ defence.
Palace thought they should have had a penalty when Patrick Van Aanholt went down under a clumsy challenge from Matty Cash.
Having decided against giving a spot-kick, referee Anthony Taylor went to have a second look at the pitch-side monitor before sticking with his original decision to conclude a lengthy delay.
With 39 minutes on the clock, Mings and Zaha were both shown yellow cards for some argy-bargy following a foul by the Palace man on John McGinn.
Villa again came close to a second moments later, Watkins causing more trouble down the right before El Ghazi and Grealish both had shots blocked.
The hosts’ failure to add to their lead became a more worrying issue in the 45th minute when Mings stuck out an arm to block Zaha and was shown a second yellow.
He reluctantly left the pitch and boss Dean Smith reacted by withdrawing Traore, who had been probably the best player on the pitch, to allow Ezri Konsa to come on, while Martinez produced a leaping save to keep out Luka Milivojevic’s shot.
Despite their numerical disadvantage, Villa continued to enjoy the better of the game in the early stages of the second half.
And the second goal that arrived in the 66th minute was no more than they deserved. Palace failed to defend an El Ghazi free-kick, Watkins headed against the crossbar and Hause followed up to score his second Premier League goal for Villa.
Guaita clawed the ball out but not before it had crossed the line.
With Palace forced to commit more men forward, Villa looked even more dangerous, and, after Watkins saw a shot blocked, the impressive winger teed-up El Ghazi for his fourth goal in four games – a fine, curling effort in off the far post.
The visitors at last applied some consistent pressure, with Eberechi Eze firing at Martinez and Joel Ward curling a cross onto the top of the bar.
But Watkins nearly finished the match with the goal he deserved, only for his effort to hit a post.
This weekend get a £10 free bet with Betfair, when you bet £10 on a Same Game Multi on the Premier League. Terms: Min £10 Same Game Multi bet on any EPL match this Fri – Sun. Free bet valid for 72 hours, awarded at bet settlement. Excludes cashed out bets. T&Cs apply.