Ten-man Manchester City blew a 2-0 lead to lose a chaotic game at Wolves and hand Liverpool another huge boost in the title race.
Matt Doherty’s 89th-minute strike earned the hosts a stunning 3-2 comeback win after Adama Traore and Raul Jimenez also struck on a rollercoaster night which threatened to boil over.
Raheem Sterling’s brace either side of half-time had given the visitors a commanding lead following a crazy first half.
Sterling’s first came when he netted the rebound after Rui Patricio had twice saved his penalty, given by VAR.
The spot-kick was retaken after VAR ruled encroachment to add to a thrilling opening after Ederson was sent off for taking down Diogo Jota.
The Football Association will also investigate an incident when a hip flask appeared to be thrown at Sterling from the home fans after his first goal.
But Wolves’ second-half fightback left the defending champions third and 14 points adrift of Liverpool, with the Premier League crown surely heading for Merseyside.
Sergio Aguero started for the first time in five weeks for City after a thigh injury, but the striker’s return lasted just 13 minutes of a dramatic and breathless first half.
Immediately after an extended break when Benjamin Mendy and Leander Dendoncker clashed heads, City were undone.
Conor Coady launched a long ball over the top and, with Kyle Walker stranded, Jota raced through.
He lifted the ball over the onrushing Ederson, only for the goalkeeper to collide with the forward and be sent off by referee Martin Atkinson.
Aguero came off for Claudio Bravo, who claimed Joao Moutinho’s free-kick from the restart, but the drama had only just begun.
Just nine minutes later Riyad Mahrez skipped into the area and was clipped by Dendoncker, with his penalty appeals waved away.
But, after a lengthy VAR deliberation, the penalty was awarded, with Dendoncker having trod on Mahrez’s foot.
And just five minutes into the second half City doubled their lead after catching Wolves on the counter-attack.
Kevin De Bruyne brilliantly slipped Sterling through and he raced clear to lift the ball over Patricio.
The game continued at breakneck speed and Traore pulled a goal back five minutes later, firing in off a post from 20 yards after Sterling lost possession.
Wolves had regained their composure and Bravo needed to gather Traore’s low drive and Romain Saiss glanced wide with 18 minutes left.
Doherty headed over but the hosts finally got their leveller with eight minutes remaining.
Mendy tried to let the ball run out of play only to be robbed by Traore and his low cross was turned in by Jimenez.
Doherty then sent Molineux wild with the winner in the final minute of normal time when he drilled in from the edge of the box to lift Wolves up to fifth in the table.
Sterling still almost rescued a point in added time when his free-kick hit the bar, but that was as close as City came to a comeback of their own as they remained in third place.