West Brom’s faint hopes of avoiding relegation suffered a significant setback after substitute Keinan Davis scored a 92nd-minute equaliser for Aston Villa.
The Baggies fell behind when Anwar El Ghazi marked his return to the side by firing Villa ahead from the penalty spot after Semi Ajayi had clipped Ross Barkley.
They were then awarded a penalty of their own, Matheus Pereira beating Emiliano Martinez to equalise after Ezri Konsa caught Ainsley Maitland-Niles.
Brazilian forward Pereira then hit the bar from a free-kick after creating chances for Okay Yokuslu and Maitland-Niles before Mbaye Diagne’s deflected finish off Tyrone Mings looked to have sealed a third win in four games.
But Davis pounced in the closing moments from close range after a defensive mix-up to deny the Baggies, who are now nine points from safety with five games remaining.