Cole Palmer's stoppage-time penalty denied former club Manchester City victory in a thriller against Chelsea at Stamford Bridge.
In a game of the highest quality in treacherous conditions, fortunes swung both ways.
City thought they had the three points when Rodri's shot from the edge of the area touched off Thiago Silva past Chelsea keeper Robert Sanchez with four minutes left.
Chelsea, showing superb resilience, were not to be denied and Palmer - a £40m summer signing from Pep Guardiola's side - stayed cool amid the mayhem to beat Ederson from the spot to leave City just a point clear of Liverpool at the Premier League summit.
The reigning champions led in contentious fashion after 25 minutes when they were awarded a penalty for Marc Cucurella's pull on Erling Haaland, despite Chelsea's protests that the full-back had been fouled first.
Haaland dispatched the penalty with ease, but the hosts were level four minutes later when Brazil centre-back Silva glanced home Conor Gallagher's corner at the near post.
Chelsea turned the game around when Raheem Sterling also scored against his former club after 37 minutes, turning in Reece James' cross after Josko Gvardiol's mistake.
City, though, levelled on the stroke of half-time when the unmarked Manuel Akanji headed in Bernardo Silva's cross.
Two minutes after the break City went in front again when Haaland scrambled in Julian Alvarez's cross at the far post.
Yet Chelsea again battled back and deservedly drew level in the 67th minute when Nicolas Jackson pounced after Ederson pushed out Gallagher's low drive.
Guardiola's side thought they had won it with Rodri's stroke of good fortune - until the late penalty drama capped an entertaining, eventful encounter.
Defender Ruben Dias was penalised for a foul on Chelsea substitute Armando Broja and Palmer's calm finish left honours even.
More to follow.
- Follow Chelsea v Manchester City, plus reaction and analysis to Sunday's other Premier League games
- How did you rate Chelsea's performance? Have your say here
- What did you make of Man City's display? Send us your views here
How to play
Rate players out of 10 throughout or after the game. The rater will close 30 minutes after the final whistle.
Rating range key1 = Give it up10 = Pure perfection
Chelsea
Squad number1Player nameSánchez
Squad number24Player nameJames
Squad number2Player nameDisasi
Squad number6Player nameThiago Silva
Squad number3Player nameCucurella
Squad number25Player nameCaicedo
Squad number8Player nameFernández
Squad number20Player namePalmer
Squad number23Player nameGallagher
Squad number7Player nameSterling
Squad number15Player nameJackson
Squad number10Player nameMudryk
Squad number16Player nameUgochukwu
Squad number19Player nameBroja
Squad number27Player nameGusto
Manchester City
Squad number31Player nameEderson
Squad number2Player nameWalker
Squad number24Player nameGvardiol
Squad number3Player nameRúben Dias
Squad number19Player nameÁlvarez
Squad number20Player nameBernardo Silva
Squad number25Player nameAkanji
Squad number16Player nameRodri
Squad number11Player nameDoku
Squad number47Player nameFoden
Squad number9Player nameHaaland
Squad number8Player nameKovacic
Squad number10Player nameGrealish
Line-ups
Chelsea
Formation 4-2-3-1
- 1Sánchez
- 24JamesSubstituted forGustoat 64'minutes
- 2Disasi
- 6Thiago Silva
- 3CucurellaBooked at 22mins
- 25CaicedoBooked at 60minsSubstituted forBrojaat 90'minutes
- 8FernándezSubstituted forMudrykat 64'minutes
- 20PalmerBooked at 23mins
- 23Gallagher
- 7SterlingBooked at 90mins
- 15JacksonBooked at 90minsSubstituted forUgochukwuat 90+6'minutes
Substitutes
- 5Badiashile
- 10Mudryk
- 11Madueke
- 16Ugochukwu
- 19Broja
- 27Gusto
- 28Petrovic
- 29Maatsen
- 52Matos
Man City
Formation 3-2-4-1
- 31Ederson
- 2Walker
- 24Gvardiol
- 3Rúben Dias
- 19ÁlvarezSubstituted forKovacicat 79'minutes
- 20Bernardo Silva
- 25Akanji
- 16RodriBooked at 72mins
- 11DokuBooked at 56minsSubstituted forGrealishat 59'minutesBooked at 90mins
- 47Foden
- 9Haaland
Substitutes
- 4Phillips
- 8Kovacic
- 10Grealish
- 18Ortega
- 27Nunes
- 33Carson
- 52Bobb
- 82Lewis
Referee:Anthony Taylor
Attendance:39,532
Live Text
Match ends, Chelsea 4, Manchester City 4.
Second Half ends, Chelsea 4, Manchester City 4.
Attempt missed. Kyle Walker (Manchester City) right footed shot from outside the box is too high from a direct free kick.
Raheem Sterling (Chelsea) is shown the yellow card for a bad foul.
Phil Foden (Manchester City) wins a free kick in the attacking half.
Foul by Raheem Sterling (Chelsea).
Substitution, Chelsea. Lesley Ugochukwu replaces Nicolas Jackson.
Goal! Chelsea 4, Manchester City 4. Cole Palmer (Chelsea) converts the penalty with a left footed shot to the top left corner.
Jack Grealish (Manchester City) is shown the yellow card.
Nicolas Jackson (Chelsea) is shown the yellow card.
Penalty conceded by Rúben Dias (Manchester City) after a foul in the penalty area.
Penalty Chelsea. Armando Broja draws a foul in the penalty area.
Jack Grealish (Manchester City) wins a free kick on the left wing.
Foul by Conor Gallagher (Chelsea).
Foul by Erling Haaland (Manchester City).
Thiago Silva (Chelsea) wins a free kick in the defensive half.
Foul by Erling Haaland (Manchester City).
Conor Gallagher (Chelsea) wins a free kick in the defensive half.
Substitution, Chelsea. Armando Broja replaces Moisés Caicedo.
Jack Grealish (Manchester City) wins a free kick in the defensive half.