Manchester City's fatigued stars were unable to go the distance as Adama Traore's goal started a thrilling Wolves fightback.
Pep Guardiola admitted Manchester City's faint hopes of retaining the Premier League title were in tatters as they blew a two-goal lead and had Ederson sent in a dramatic 3-2 defeat at Wolves on Friday.
Guardiola's side recovered from Ederson's 12th minute dismissal to take control thanks to Raheem Sterling's double either side of half-time.
But City's fatigued stars were unable to go the distance as Adama Traore's goal started a thrilling Wolves fightback.
Raul Jimenez equalised with eight minutes to go and Matt Doherty hit the winner to send Molineux wild in the 89th minute.
"Always the goals can be avoided but sometimes it's tiredness. It's a lot of minutes to defend with 10 men," Guardiola said.
"No regrets, they did absolutely everything to defend a result for 80 minutes but it was difficult."
Third-placed City trail runaway leaders Liverpool by 14 points and, Jurgen Klopp's red-hot team have a game in hand, making it hard to imagine the champions getting their hands on the trophy for a third successive season.
"It is a big gap for a long time. It's not a race if you think about it," Guardiola said.
"I have been asked the question for a long time and it is the same answer. It's not realistic to think about the title race.
"We have to think of the next game and about winning our games."
Wolves, flying high in fifth place, have contributed to City's downfall more than most and, after winning 2-0 at the Etihad Stadium in October, they celebrated a top-flight double over the Manchester club for the first time since 1960-61.
The only blemish for Wolves were the missiles thrown from the stands when City celebrated their second goal, an incident that prompted the Football Association to launch an investigation.
Referee Martin Atkinson was seen passing a metal hip flask to the fourth official as an announcement over the tannoy warned "numerous instances of objects being thrown have been seen. CCTV will be used to prosecute offenders".
It was a bitter night for Guardiola, whose team have lost five league games this season after being beaten just four times in the whole of last term.
City had looked closer to their best in recent wins over Arsenal and Leicester, but they could not have made a worse start at Molineux.
When Diogo Jota escaped with a well-timed run behind the City defence, Ederson rashly raced out of his area.
The Brazilian misjudged the bounce of the ball and clipped Jota, earning a red card. Guardiola then replaced Sergio Aguero with reserve keeper Claudio Bravo.
City responded by snatching the lead in controversial fashion in the 25th minute.
Riyad Mahrez made an incisive run that ended with Leander Dendoncker stepping on the Algerian's foot, leading VAR to award a penalty.
That was not the end of the drama as Sterling's spot-kick was saved by Rui Patricio, only for VAR to intervene again as the penalty was retaken for encroachment.
Sterling shot to the same side with his second kick, but although Patricio saved again, this time the winger followed up to tap in the rebound.
When Sterling doubled the lead in the 50th minute, City looked in charge.
Beating the offside trap with ease, Sterling ran onto Kevin De Bruyne's pass and clipped a deft finish over Patricio.
But Sterling's eventful night wasn't finished yet and, when he surrendered possession careless in midfield five minutes later, Wolves took advantage to reduce the deficit.
Traore's blistering pace makes him a tough opponent, so City backed off just enough to allow the wing-back to blast a low drive past Bravo from 20 yards.
Wolves' relentless pressure in the closing stages finally forced City to crack.
Benjamin Mendy made a mess of trying to shepherd the ball out for a goal-kick and Traore stole possession.
Traore crossed for Jimenez to stab past Bravo from close-range, leaving City's exhausted players on their knees in frustration.
There was even worse to come for City in the 89th minute as Doherty took Jimenez's backheel, slalomed past Nicolas Otamendi and smashed a fine finish into the far corner.