Anwar El Ghazi’s last-gasp penalty stunned Wolves as Aston Villa claimed a 1-0 derby win.
The substitute struck from the spot in injury time after Nelson Semedo brought down John McGinn.
Douglas Luiz had already been sent off for the visitors with five minutes to go and Joao Moutinho was also dismissed for Wolves in stoppage time.
Villa had lived dangerously before their late winner as Fabio Silva hit the post for the hosts and Emi Martinez’s brilliant save denied Leander Dendoncker a second-half opener.
It was a competitive and occasionally spiteful derby but – without a crowd – lacked the usual bite until the late drama.
The game was a slow burner and Martinez smothered at Daniel Podence’s feet during a quiet opening at Molineux.
Without Raul Jimenez, out after fracturing his skull last month, Silva had been handed his first Premier League start after his £35million summer move from Porto.
The 18-year-old showed flashes of skill and tried to link play but lacked the impact of Jimenez as he continues to adapt to the top flight.
He was not helped by a lack of service as, against the club who brought him to England, Adama Traore struggled to make an impact.
Despite the lack of atmosphere the friction between the two sides simmered with McGinn, Luiz and Matty Cash booked for Villa and Traore cautioned for the hosts.
When it did Pedro Neto darted forward to cut back for Podence but his shot was blocked.
Martinez finally made a serious save six minutes before the break when he was equal to Podence’s low drive after Luiz’s poor clearance.
Two minutes later the goalkeeper blocked from Dendoncker before Podence’s effort deflected wide.
The hosts looked more likely to break the deadlock but Luiz drilled wide 13 minutes after the break.
Villa, with four defeats in their last five, were more reserved than previous away games – having won at Leicester and Arsenal this term – and struggled to build any attacking momentum for much of the game.
As a result, Wolves continued to create the better openings and Martinez gathered Traore’s shot but had to scramble when Neto’s fizzing drive flew a yard wide after 63 minutes.
Podence, again, was key as Villa failed to stop his driving run and Silva latched onto his pass to fire across Martinez, only for the ball to strike the inside of the post.
Soon after Martinez claimed Romain Saiss’ header and the goalkeeper produced a brilliant stop to deny Dendoncker 10 minutes from time.
Neto stood up a cross and Dendoncker arrived from six yards, only to see Martinez’s superb one-handed save keep his first-time volley out.
Villa suffered a blow with five minutes left when Luiz caught Podence to collect his second yellow card but rallied to win it in stoppage time and climb above Wolves into eighth place ahead of the later matches.
Semedo clumsily brought down McGinn and El Ghazi sent Patricio the wrong way from the spot.
There was also still time for Moutinho to be red-carded after he caught Jacob Ramsey to add to Wolves’ woes.