Substitute Anwar El Ghazi converted a stoppage-time penalty as Aston Villa snatched victory in their West Midlands derby at Wolves.
Wolves had the better of their first home game since striker Raul Jimenez suffered a fractured skull, with Fabio Silva hitting a post midway through the second half.
Villa goalkeeper Emiliano Martinez then denied Leander Dendoncker, before the visitors had midfielder Douglas Luiz sent off after picking up a second booking late on.
But Nelson Semedo brought down John McGinn in injury-time, handing El Ghazi the chance to sidefoot home his first goal since January from the spot.
There was still time for the hosts to have midfielder Joao Moutinho dismissed for a second yellow card as Villa clinched their second win in six games, climbing back above their local rivals to eighth in the table.
With Jimenez set for a lengthy absence, Wolves boss Nuno Espirito Santo gave a first Premier League start to 18-year-old striker Silva, their club record £35.6m summer signing from Porto.