Palmer struck in the final seconds after Rodri’s 86th minute strike looked set to send City home from Stamford Bridge with all three points.
It was a sweet moment for Palmer after City boss Pep Guardiola opted to sell the rising star to Chelsea in a surprise £42 million ($51 million) deal in September.
Guardiola said Manchester-born Palmer, who joined City aged six, rejected his offer of more playing time this season in a bid to keep him.
The youngster made his old boss pay in the most dramatic fashion, having the final say in an astonishing encounter that provided countless plot twists.
City blew the lead three times and also had to come from behind themselves before finally being forced to settle for a draw that leaves them one point clear of second-placed Liverpool and third-placed Arsenal.
Erling Haaland’s controversial penalty had put City ahead before Thiago Silva equalised.
Raheem Sterling netted against his old club to give Chelsea the lead, only for Manuel Akanji to level at the end of a breathless first half.
Haaland bagged his 17th goal of the season after the break, before Chelsea’s Nicolas Jackson equalised.
Rodri appeared to have landed the knockout blow with four minutes left, but there was a sting in the tale thanks to Palmer’s penalty.
City lit the fuse on an explosive contest when they snatched the lead after 25 minutes.
Marc Cucurella pulled down Haaland as the City striker tried to reach Bernardo Silva’s cross inside the six-yard box.
It was a debatable decision as Haaland appeared to tug at Cucurella’s shirt before the Chelsea defender’s contract.
Blues boss Mauricio Pochettino was furious that play was not stopped prior to the cross for a potential foul by Jeremy Doku on Reece James and Moises Caicedo as the Chelsea players tried to head clear.
Haaland blocked out the bubbling Chelsea frustration as he calmly sent Sanchez the wrong way from the spot.
AFP