Palmer left City for Chelsea in a deal worth around $52 million in September and showed supreme composure to fire past Ederson in the dying stages of a thrilling match at Stamford Bridge.
Rodri had looked like securing a win for Pep Guardiola’s team with a deflected effort with four minutes left of regulation time.
But referee Anthony Taylor pointed to the spot when Ruben Dias slid into substitute Armando Broja in the box. After a delay, Palmer swept his shot into the corner to stop City moving three points clear at the top.
Chelsea dented Tottenham‘s title ambitions with a wild 4-1 win against Ange Postecoglou’s team on Monday and proved a challenge for City, too, by coming back from behind on three occasions.
City retook the lead two minutes after the break, with Haaland the goalscorer again — sliding in to convert from close range.
[Want great stories delivered right to your inbox? Create or log in to your FOX Sports account, follow leagues, teams and players to receive a personalized newsletter daily.]
Chelsea pushed again for an equalizer and Palmer was close to scoring when running from deep into the box and forcing a one-on-one save from Ederson.
Chelsea’s third goal eventually came from Nicolas Jackson in the 67th. The striker fired in from the rebound after Gallagher’s long shot was parried.
Malo Gusto wasted a golden chance to put Chelsea ahead again by firing over from inside the box when he had the whole goal to aim at. And that miss proved costly when Rodri came up with what looked like the winner.
The Spain midfielder’s powerful effort from the edge of the box took a big deflection off Thiago Silva to send Chelsea goalkeeper Robert Sanchez the wrong way as the ball flew into the opposite corner.
It seemed like a cruel way to decide such a thrilling contest until Palmer’s late intervention.
Reporting by The Associated Press.
Get more from English Premier League Follow your favorites to get information about games, news and more