The draw kept City, who were without their league-leading scorer Erling Haaland due to a foot injury, in fourth place in the table on 34 points. Palace are 15th with 17 points, eight above the drop zone.
It was the fifth time in six league games that Pep Guardiola’s men have dropped points, having also drawn with Chelsea, Liverpool and Tottenham and lost to Aston Villa prior to last Sunday’s 2-1 win at Luton.
City’s bid for an unprecedented fourth successive title is in danger, although Guardiola will remind his players they came from eight points behind Arsenal to snatch the crown late last season.
Once again without the injured Haaland, City dominated the opening stages and Palace ‘keeper Dean Henderson did well to save a fifth-minute Julian Alvarez header.
City’s breakthrough came in the 24th minute when Phil Foden fed Grealish, and he slotted past Henderson for his third goal in as many league games – the effort standing after a lengthy VAR check for offside.
Josko Gvardiol drilled into the side-netting via a touch from Henderson and Foden whipped a shot wide.
City had the ball in the net again seven minutes of the second half when Alvarez’s free-kick on the left went in at the far post, but the flag went up for offside against Rodri and the effort was disallowed.
The hosts did have their second in the 54th minute as Grealish’s pass ricocheted off Rodri and the ball fell to Lewis for a close-range finish, the 19-year-old’s first Premier League goal being confirmed after a VAR review.
City looked to be cruising, but Palace pulled a goal back in the 76th minute when a long ball found Jeffrey Schlupp and he supplied Mateta, who slid home to start the nerves jangling in Guardiola’s team.
Deep into stoppage time City fans’ fears were realised as Foden caught Mateta in the box, referee Paul Tierney pointed to the spot, and Olise calmly dispatched the ball past Ederson.
(With inputs from AFP)