Manchester City dropped points once again as a stoppage-time Michael Olise penalty saw the Premier League champions held 2-2 by Crystal Palace at the Etihad Stadium.
City had dominated possession and appeared in complete control after Jack Grealish put them ahead in the 24th minute and Rico Lewis added a 54th-minute finish.
But Palace fought back to reduce the deficit via Jean-Philippe Mateta with just under a quarter of hour of normal time to go, and Olise subsequently converted from the spot in the fifth minute of stoppage time to secure a point for the visitors.
It is 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.
In what was their last match before heading to Saudi Arabia for the Club World Cup, the result leaves them fourth in the table, three points behind leaders Liverpool, who host Manchester United on Sunday.
It was a significant boost for Roy Hodgson’s 15th-placed Palace after the 2-1 defeat by Liverpool last week had made it six losses in eight games.
As City – once again without the injured Erling Haaland – bossed the opening stages of the contest, Palace debutant Dean Henderson did well to turn a fifth-minute Julian Alvarez header behind, Ruben Dias just missed the top corner with a curling effort and Rodri hit two attempts, the latter via a deflection, off target.
The breakthrough then came 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.
After Henderson denied Josko Gvardiol and saw Nathan Ake head wide, Palace – already with a considerable list of players unavailable – were forced into a change as captain Joel Ward came off, being replaced by 18-year-old David Ozoh.
Gviardiol tried his luck again, drilling into the side-netting via a touch from Henderson, and Foden whipped a shot wide.
Having struggled even to get on the ball, Palace then suddenly put an attack together late in the half that saw Ederson rush out and challenge Mateta just outside the City box. The goalkeeper was booked, and Olise curled the resulting free-kick onto roof of the net.
City had the ball in the net again seven minutes into 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.
Within moments, though, the hosts did have their second 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.
With Henderson subsequently making a fine save to keep out a Bernardo Silva shot, City looked to be cruising, but Palace pulled a goal back in the 76th minute when a long ball found Jeffrey Schlupp and he sent the ball to Mateta, who slid it in.
It made for a tense finale, and 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 to ensure the points were shared.