West Brom’s hopes of staying in the Premier League took a big late blow as Keinan Davies scored a last-gasp equaliser in a 2-2 draw.
The striker’s injury-time goal – after Kyle Bartley’s mistake – earned Villa a 2-2 draw to stop Albion claiming another priceless victory.
Time is running out and the second-bottom Baggies are nine points from Premier League safety with five games left.
Tyrone Mings’ own goal looked like earning Sam Allardyce’s side a third win in four games after Matheus Pereira’s penalty had cancelled out Anwar El Ghazi’s spot-kick.
Despite the point, Villa’s season – which once threatened European qualification – is now fading into mid-table obscurity without injured skipper Jack Grealish and they have won just two of the 10 games he has missed.
Albion’s relegation looks inevitable but, should they go down, they will at least return to the Sky Bet Championship fighting after recovering from an early blow.
Villa hit the front after 20 seconds against Manchester City on Wednesday but it took them nine minutes to lead this time.
Ross Barkley was felled by Semi Ajayi’s clumsy challenge in the box and El Ghazi – who scored twice in the reverse fixture at The Hawthorns – sent Sam Johnstone the wrong way.
Pereira’s free-kick whistled narrowly over in response but after their morale-sapping defeat at Leicester in midweek Albion struggled to get going.
Boss Allardyce had targeted five wins from six games – starting against Villa – to save their Premier League skins and that looked fanciful until Albion were given a gift of a penalty after 23 minutes.
West Brom respond with own penalty
Quick feet from Callum Robinson teed up Ainsley Maitland-Niles and he needed no second invitation to go down after Ezri Konsa clipped his foot.
It was soft but Pereira levelled and four minutes later Okay Yokuslu flashed a header narrowly wide.
Johnstone beat away El Ghazi’s drive and Bertrand Traore’s effort drifted across goal as Villa sought a response.
But Albion had their tails up and Emi Martinez parried Maitland-Niles’ drive five minutes before the break after Pereira bamboozled Douglas Luiz with a cute backheel.
The forward was the Baggies’ best outlet and nearly grabbed a second after 43 minutes when his free-kick from the corner of the area bounced back off the bar.
Albion had threatened a second and, just two minutes after the restart, stunned Villa by taking the lead.
Konsa slipped when he tried to control Johnstone’s deep clearance which allowed Mbaye Diagne to collect the ball. The striker continued into the area and his shot was turned into his own net by Mings.
The goal sparked Villa back into life and Bartley deflected Barkley’s drive behind, Johnstone’s smart save kept Ahmed Elmohamady’s sharp volley out and Traore’s drive from a tight angle hit the outside of the post.
Villa were now dominant and Ollie Watkins wasted a fine opening with 20 minutes left when he shot too close to Johnstone after being put through.
Yet Albion nearly grabbed a third with 18 minutes left when Konsa headed Conor Gallagher’s corner against his own post before Martinez turned the ball over via the bar.
Davies delivers big West Brom blow
Three minutes later Martinez came to Villa’s rescue again when he turned Pereira’s excellent effort from 18 yards over.
Villa pressed for a late leveller and Davis struck the post with four minutes left before rescuing a point in stoppage time.
Matt Targett’s deep cross was headed down by Mings and Davis pounced from close range after Bartley failed to clear.