Match ends, Manchester City 2, Crystal Palace 3.
Crystal Palace had what manager Roy Hodgson described as "one of those bonanza days" as they stunned Manchester City to leave Liverpool four points clear at the top of the Premier League.
Andros Townsend smashed home a sublime 30-yard volley to help Palace cause the biggest shock of the campaign to date by claiming their first win at City for exactly 28 years and end the defending champions' 100% home record in the top flight this season.
"You get your work-rate as it should be, you get your shape and discipline as it should be, then you also score goals," said former England boss Hodgson.
"To score three goals away from home against a team of this quality says a lot... and makes you wonder where they have been until now.
"Today was one of those bonanza days."
- Reaction from the Etihad and the rest of Saturday's Premier League games
- What happened in the Premier League on Saturday?
- What. A. Strike - everyone loves Townsend's goal
Palace come from behind in spectacular win
City's form at Etihad Stadium this season - they had scored an average of three goals a game in nine successive league victories - had made it a fortress, but its walls came crumbling down in spectacular fashion.
The game appeared to be following a familiar script when Ilkay Gundogan ghosted into the box to head City into the lead from Fabian Delph's cross, but the events of the next eight minutes left the home fans in stunned silence.
First, Jeffrey Schlupp equalised with a fizzing angled drive into the bottom corner after meeting James McArthur's pass on the edge of the area. Then Townsend gave the visitors the lead with a contender for goal of the season, a fabulous volley after Bernardo Silva half-cleared a free-kick.
City boss Pep Guardiola - who had only lost two other league games here since he took charge in the summer of 2016 - sent on club record goalscorer Sergio Aguero after the break.
The home fans, and everyone else present, anticipated a fightback but Palace quickly scored again - this time from the spot. Townsend headed Aaron Wan-Bissaka's cross against the post, Kyle Walker fouled Max Meyer as he tried to clear and Luka Milivojevic sent Ederson the wrong way with his penalty.
City sent Kevin de Bruyne, so often a hero of last season's procession to the title, into the rain to attempt a rescue mission but this was beyond even him.
The Belgian did reduce the deficit when his cross looped into the net, and Gabriel Jesus headed another of his deliveries over, but Palace held on for a deserved victory.
City lack usual guile
City were 13 points clear last Christmas on their march to the title but, if they are to retain it, they are going to have to do it the hard way.
We are not even at the halfway stage of this campaign so there is plenty of time for Guardiola's side to get back into their groove, and the title race is far from over, but their lack of guile and creativity here will be a concern.
It was not for the want of trying by Guardiola, who replaced two defenders with attacking players as he attempted to rescue this game in the second half.
But Aguero and De Bruyne were unable to come up with the inspiration required to break down Palace's massed defensive ranks until the Belgian's mis-hit cross gave his side hope five minutes from time. Ultimately, though, it was not nearly enough.
Palace plan works to perfection
Palace's past two visits to Etihad Stadium had ended in 5-0 defeats, but Hodgson said before the game he would not simply attempt to shut City out, and he was true to his word.
His side were immaculately organised in their 4-5-1 formation, dangerous on the counter-attack and helped by two outstanding strikes, but the reason Hodgson's plan worked to perfection was the industry of all of his players.
Whenever City had the ball - they had 78% of possession - they were allowed little space once they advanced into the Palace half.
City's usual precision passing failed to find any gaps and the home side were reduced to firing in hopeful crosses - 30 from open play alone - in a vain bid to open the visitors up.
There had been murmurs of discontent from the Palace fans following their side's poor form that had seen them slip towards the fringes of the relegation battle in recent weeks.
But there was nothing but acclaim for Hodgson and his players at the final whistle on Saturday, as they joined their travelling supporters to celebrate a famous victory.
Man of the match - Andros Townsend
'We cannot concede penalties like that' - the managers
Manchester City manager Pep Guardiola: "We started quite decent and created chances. We scored a fantastic goal and after they passed the halfway line they scored.
"The third goal... we cannot concede the penalty we conceded. We have to try and avoid it. Palace had three shots on target and scored three goals. Football is like this.
"It's complicated but we fight until the last second. We are in December and we will try and recover and try to win games again."
Crystal Palace manager Roy Hodgson: "You don't produce that sort of performance by waving a magic wand or having a five-minute team talk, there's a lot of work that goes into that structure and we were excellent.
"We are playing against a team with enormous skill levels and their focus, their ability to sustain attacks, is an example to us all.
"I was really pleased with the way the lads worked hard for us. All the credit needs to go to the players. We scored three good goals."
A day to remember for Hodgson - the stats
- Hodgson became the first English manager since Harry Redknapp in May 2010 to win away at Etihad Stadium in the Premier League.
- Manchester City have lost two of their past three Premier League games - as many as in their previous 61 combined.
- This was City's first home league defeat against a non-big-six side since February 2016, when they lost 3-1 to Leicester City.
- Townsend has scored 17 Premier League goals - 10 from outside the box.
- City lost a Premier League match kicking off at 3pm on a Saturday for the first time since August 2014 against Stoke, ending a run of 36 games unbeaten.
- Palace found the net with each of their three shots on target in the game.
- Since his Premier League debut, Milivojevic has scored 13 penalties - five more than any other player in that time.
Both teams are in action at 15:00 GMT on 26 December, with Palace hosting Cardiff, and Manchester City travelling to Leicester, the scene of their penalty shootout win in the Carabao Cup on Tuesday.
Palace end the year with a home game against Chelsea on 30 December (12:00), with City playing at Southampton later the same day (14:15 GMT)
- 30OtamendiSubstituted forAgüeroat 50'minutes
- 18DelphSubstituted forDe Bruyneat 62'minutes
- 20Bernardo Silva
- 7SterlingSubstituted forMahrezat 69'minutes
- 33Gabriel Jesus
- 17De Bruyne
- 31GuaitaBooked at 90mins
- 3van AanholtBooked at 75mins
- 18McArthurBooked at 80mins
- 7MeyerSubstituted forPuncheonat 90+5'minutes
- 11ZahaBooked at 45minsSubstituted forJ Ayewat 88'minutes
- 14J Ayew
- Andre Marriner
- Shots on Target
Second Half ends, Manchester City 2, Crystal Palace 3.
Attempt saved. Leroy Sané (Manchester City) left footed shot from a difficult angle on the left is saved in the bottom left corner.
Substitution, Crystal Palace. Jason Puncheon replaces Max Meyer.
Vicente Guaita (Crystal Palace) is shown the yellow card.
Attempt missed. Gabriel Jesus (Manchester City) header from the centre of the box is just a bit too high. Assisted by Kevin De Bruyne with a cross.
Substitution, Crystal Palace. Jordan Ayew replaces Wilfried Zaha.
Offside, Manchester City. Kevin De Bruyne tries a through ball, but Gabriel Jesus is caught offside.
Attempt blocked. Bernardo Silva (Manchester City) header from the centre of the box is blocked. Assisted by Aymeric Laporte with a headed pass.
Corner, Manchester City. Conceded by James McArthur.
Attempt blocked. Leroy Sané (Manchester City) right footed shot from outside the box is blocked. Assisted by Aymeric Laporte.
Goal! Manchester City 2, Crystal Palace 3. Kevin De Bruyne (Manchester City) right footed shot from long range on the right to the top left corner. Assisted by Bernardo Silva.
Corner, Manchester City. Conceded by Andros Townsend.
James McArthur (Crystal Palace) is shown the yellow card for a bad foul.
Gabriel Jesus (Manchester City) wins a free kick in the attacking half.
Foul by James McArthur (Crystal Palace).
Offside, Crystal Palace. Luka Milivojevic tries a through ball, but Wilfried Zaha is caught offside.
Leroy Sané (Manchester City) hits the right post with a left footed shot from outside the box from a direct free kick.
Patrick van Aanholt (Crystal Palace) is shown the yellow card for a bad foul.
Kevin De Bruyne (Manchester City) wins a free kick in the attacking half.