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.