Wolverhampton Wanderers came from two goals down to beat 10-man Manchester City 3-2 at Molineux in a thrilling Premier League encounter on Friday.
Pep Guardiola's side saw goalkeeper Ederson sent off after just 12 minutes but went ahead when Raheem Sterling tapped into an empty net after his penalty was saved by Rui Patricio.
The England international added a second after the break but the hosts hit back through goals from Adama Traore, Raul Jimenez and Matt Doherty to complete a league double over the defending champions.
Premier League Top Scorers
Jamie Vardy, Leicester City: 17
Pierre-Emerick Aubameyang, Arsenal: 12
Marcus Rashford, Manchester United: 11
Tammy Abraham, Chelsea: 11
Danny Ings, Southampton: 11
Raheem Sterling, Manchester City: 11
Harry Kane, Tottenham Hotspur: 10
Sergio Aguero, Manchester City: 9
Sadio Mane, Liverpool: 9
Mohamed Salah, Liverpool: 9
Teemu Pukki, Norwich City: 9
Premier League Table (games played, points, goal difference)
1. Liverpool: 18, 52, +32
2. Leicester City: 19, 39, +23
3. Manchester City: 19, 38, +29
4. Chelsea: 19, 32, +6
5. Wolves: 19, 30, +45
6. Tottenham Hotspur: 19, 29, +7
7. Sheffield United: 19, 29, +6
8. Manchester United: 19, 28, +7
9. Crystal Palace: 19, 26, -4
10. Newcastle United: 19, 25, -9
11. Arsenal: 19, 24, -3
12. Burnley: 19, 24, -7
13. Everton: 19, 22, -8
14. Southampton: 19, 21, -14
15. Brighton & Hove Albion: 19, 20, -6
16. Bournemouth: 19, 20, -6
17. West Ham United: 19, 19, -10
18. Aston Villa: 19, 18, -8
19. Norwich City: 19, 13, -21
20. Watford: 19, 12, -19
Manchester City and Wolves played out a chaotic opening 45 minutes at the Etihad Stadium that featured a red card, two penalty saves and a 10th Premier League goal of the season for Sterling.
The hosts were reduced to 10 men when Ederson raced out of his goal and clipped Diogo Jota as he took the ball past the goalkeeper, leaving referee Martin Atkinson to reach for the red card:
Striker Sergio Aguero, who was making his first start since November's win over Chelsea, was the man to be sacrificed as reserve goalkeeper Claudio Bravo came on.
Manchester City responded well to going a man down and won a penalty when Leander Dendoncker stood on Riyad Mahrez's foot in the penalty area. Referee Atkinson did not give the decision initially but pointed to the spot after a VAR check.
Wolves goalkeeper Patricio dived low to his right to save Sterling's spot-kick which was then ordered to be retaken because of encroachment:
Sterling was denied again by Patricio but kept his composure to slot home the rebound and put the 10 men of City into the lead.
Guardiola sent on 18-year-old defender Eric Garcia for Mahrez at half-time and saw his side double their lead three minutes into the second half.
A clever pass from Kevin De Bruyne sent Sterling clean through on goal, and the England international dinked the ball over Patricio with a composed finish.
Wolves pulled one back four minutes later through Traore. The 23-year-old surged forwards after Sterling had lost possession and drilled a low shot across Bravo and into the corner:
The hosts continued to press for an equaliser and were rewarded in the 82nd minute. Traore robbed Benjamin Mendy and sent in a low cross for Jimenez to slot home from close range:
Yet Wolves were not to be denied and won it in the 89th minute when Doherty played a one-two with Jimenez on the edge of the box and then curled a low shot into the bottom corner.
The result takes Wolves into fifth place in the table ahead of Sunday's trip to Anfield to take on Premier League leaders Liverpool, while Manchester City are now a distant 14 points behind the Reds.