Champions Manchester City will trail Premier League leaders Liverpool by four points on Christmas Day after a shock 3-2 loss to Crystal Palace.
Andros Townsend scored one of the goals of the season as Roy Hodgson's inspired Palace came from behind to condemn City to their first league defeat at the Etihad Stadium since April.
Townsend struck with a 30-yard volley after Jeffrey Schlupp had cancelled out Ilkay Gundogan's opener on a rain-soaked afternoon.
A penalty from Luka Milivojevic sealed victory although Kevin De Bruyne's cross-cum-shot gave City, who also hit the post through Leroy Sane, late hope.
The defeat was City's second in three league games and handed the title initiative to Liverpool, whom they face on January 3.
Palace's performance was completely unexpected, the Londoners having lost five of their last six away games and 5-0 on their last two visits to the Etihad. Indeed, it was their first away win over City since 1990.
With the Christmas schedule in mind, City manager Pep Guardiola continued to ease De Bruyne and Sergio Aguero back into action after injury by starting both on the bench.
John Stones also started in midfield in place of the injured Fernandinho and the Brazilian was sorely missed.
City did have a chance within the opening two minutes as Fabian Delph extended Palace's stand-in goalkeeper Vicente Guaita with a fierce drive.
At that point it seemed Guaita, filling in for Wayne Hennessey, could be in for a busy time but that did not materialise as City struggled to break Palace down thereafter.
They did have opportunities as Sane drove into the side-netting, Raheem Sterling sliced a shot and Bernardo Silva had an effort blocked but Palace stood up to the challenge.
City did break through after 27 minutes as Delph curled in an excellent right-footed cross from the left and picked out an unmarked Gundogan, who planted a firm header past Guaita.
But Palace trailed for just six minutes as they surprised City by pushing back. Stones, looking uncomfortable in midfield, inadvertantly fed Schlupp as he won a tackle on James McArthur.
Schlupp pushed into the area and beat Ederson with a low left-foot shot across goal.
City were then stunned as Palace grabbed a second just two minutes later with Townsend's stunner.
A free-kick won by Wilfried Zaha was lofted into the area and only half cleared by City. Silva attempted to head away but the ball dropped invitingly towards Townsend around 30 yards out and he met it with a ferocious volley that flew into the roof of the net.
City brought Aguero off the bench early in the second half and Aymeric Laporte headed wide but Palace shocked the hosts again six minutes after the restart.
Aaron Wan-Bissaka whipped in a cross and Townsend headed against the post. Max Meyer seized on the loose ball but City were in disarray and Kyle Walker felled the German. Milivojevic rifled home from the spot.
City then turned to De Bruyne and Riyad Mahrez but Palace continued to hold them back until Sane went close with a brilliant free-kick that struck the post.
De Bruyne did find the net when a cross from the right flew into the top corner five minutes from time but the hosts could not make the most of the lifeline.
Gabriel Jesus missed their best chance to level when he headed over while Palace thought they should have had another penalty when Ederson challenged Jordan Ayew.