Just as Crystal Palace were closing in on a win to make absent manager Roy Hodgson proud, they saw three points vanish thanks to a glorious goal from Jhon Duran and a hugely controversial penalty award.
After substitute Duran’s stunner had cancelled out Odsonne Edouard’s strike early in the second half, referee Darren England stuck to his decision to give Villa a stoppage-time penalty when Ollie Watkins fell under Chris Richards’ challenge.
To Palace’s despair, England backed himself despite being asked to take a look at the screen and Douglas Luiz fired home the kick.
Leon Bailey’s tap-in later in stoppage time simply added insult to injury for the disconsolate Londoners, with England blowing his whistle in the 17th minute of stoppage time.
Hodgson was not at Villa Park after he was taken ill earlier in the day, leaving Paddy McCarthy and Ray Lewington in charge.
And though Palace rode their luck in the first half, when Moussa Diaby’s goal was ruled out for a tight offside goal, Edouard put them in front and they looked to be heading for victory until Duran struck three minutes from the end and ruthless Villa then took their chances.
Nicolo Zaniolo made his first Premier League start for Villa, while Palace were without Marc Guehi and Jefferson Lerma through injury.
The pattern was clear immediately: Palace did not engage Villa when the home side had the ball in their own half and set out to frustrate Unai Emery’s men.
Despite their sometimes ponderous build-up, Villa had enough chances in the first half to establish a comfortable lead. Palace defender Joel Ward bizarrely passed the ball straight to Ollie Watkins, putting the Villa forward clean through. Ward breathed a sigh of relief when Watkins shot too close to Sam Johnstone, who made a tidy save.
Villa thought they had taken the lead when Moussa Diaby took Pau Torres’ lofted pass in his stride superbly and finished with confidence. There always appeared a suspicion of offside, however, and the goal was duly ruled out following the VAR check.
That close shave seem to gee up Villa. Cash crossed low and Watkins’ hesitation cost him a tap-in. Zaniolo left Ward standing and turned the ball back for Cash, who miskicked on the penalty spot. Moments later, the unmarked Cash headed Lucas Digne’s cross over.
By now Palace were time-wasting – even though the first half still had five minutes to run. Jeffrey Schlupp ambled over to take a corner in front of the Holte End, only to think better of it and summon Eberechi Eze to take it instead. Eze showed a similar lack of urgency to restart the game.
Villa were made to pay for wasting so many chances at the start of the second half. Jean-Philippe Mateta, on as a first-half substitute for the injured Jordan Ayew, shrugged off Torres far too easily and when he crossed from the right, Villa goalkeeper Emi Martinez slipped at the vital moment. That gave Edouard all the time he needed to put Palace in front.
Edouard caused Villa problems moments later when he barged past Ezri Konsa and was denied only by the recovering Torres. Emery was growing edgier on the touchline and as the home fans jeered Palace at every stoppage, the Villa boss made his irritation clear to fourth official Stephen Martin.
Yet the visitors were causing Villa plenty of trouble. A long clearance from Johnstone caught Cash on his heels and Martinez did well to claim at Eze’s feet.
Villa got lucky again when they defended Eze’s corner appallingly, allowing Joachim Andersen to head the ball cleanly to the unmarked Ward – who somehow nodded wide from six yards.
By this time Jhon Duran had replaced John McGinn as Villa boosted their attacking options and the move nearly bore fruit when Duran’s low strike drew another save from the impressive Johnstone.
Villa must have thought it was not going to be their day when, after increasingly frantic defending, Watkins curled a beauty against the post – and the rebound struck Johnstone on the head and fell wide.
Aston Villa forward Moussa Diaby raced through to slot the ball home in the first-half
But Diaby’s effort in the 19th minute was ruled out for offside after a check by VAR
Johnstone received lengthy treatment after that moment and soon after he recovered, Martinez kept Villa in it by plucking Eze’s lobbed effort from the air after Cheick Doucoure’s fine through-ball.
And that intervention proved vital when Digne crossed from the left and Duran controlled the ball on his chest before despatching a ferocious volley beyond Johnstone.
Then more drama. Villa were awarded a penalty when Watkins tumbled under Richards’ challenge, with Palace convinced their man had made a clean tackle. Yet after a long look at the screen, referee England stuck to his original decision and Luiz sent Johnstone the wrong way in front of the Holte End.
With Palace pushing for an equaliser, Villa broke quickly and the excellent Diaby set up another substitute, Bailey, for a simple far-post finish to seal it.
Aston Villa (4-4-2): Martinez 6; Cash 6.5, Konsa 6, Torres 5.5, Digne 6.5 McGinn 7 (Duran 71, 7.5), Luiz 7, Kamara 6 (Tielemans 58, 6.5), Zaniolo 5 (Bailey 57, 6); Watkins 6.5, Diaby 8. Subs not used: Olsen, Marschall, Moreno, Chambers, Lenglet, Dendoncker.
Scorers: Duran 87, Luiz 90+8 (pen), Bailey 90+11
Booked: McGinn, Zaniolo, Cash, Bailey
Manager: Unai Emery 6.5
Crystal Palace (4-4-2): Johnstone 7.5; Ward 6, Andersen 7.5, Richards 6, Mitchell 6.5; Ayew 6 (Mateta 24, 7), Doucoure 7.5, Hughes 7.5, Schlupp 6; Eze 7, Edouard 6.5 (Ahmada 90). Subs not used: Henderson, Matthews, Holding, Clyne, Ebiowei, Riedewald, Rak-Sakyi.
Scorers: Edouard 47
Booked: Eze, Hughes, Ward
Manager: Paddy McCarthy 6.5
Referee: Darren England (South Yorkshire) 6