Wolverhampton Wanderers came from two goals down to beat 10-man Manchester City 3-2 in a pulsating match at Molineux Stadium.
Ederson was dismissed for the visitors in the 12th minute for a foul on Diogo Jota outside the City penalty area.
But Pep Guardiola's side took the lead 13 minutes later. Raheem Sterling scored on the rebound after Rui Patricio had saved his penalty, which he had retaken due to an encroachment by Conor Coady during his initial spot-kick, which was also saved by the Wolves 'keeper.
Sterling added a second five minutes into the second half but Adama Traore sparked the fightback on 55 minutes with a powerful shot into the bottom-left corner.
Traore then dispossessed Benjamin Mendy and crossed for Raul Jimenez to score with eight minutes remaining.
The winning goal came in the 89th minute when Matt Doherty latched on to Jimenez's pass and swept the ball home.
The result means Man City remain in third place, 14 points behind leaders Liverpool.
Wolves, who have completed the league double over Man City, move up to fifth with 30 points from 19 matches.
Wolves: 29 Dec v Liverpool (A)
Man City: 29 Dec v Sheff Utd (H)