Crystal Palace, who missed a stoppage-time penalty, became only the second team to take points off Manchester City in the Premier League this season when they held the runaway leaders to a 0-0 draw at Selhurst Park.
City, who drew 1-1 with Everton in August, extended their unbeaten run to 21 matches but their winning streak was halted at 18 by a resolute Palace defence despite throwing everything at them in a dominant second half.
Palace earned a penalty in stoppage time when Raheem Sterling brought down Wilfried Zaha but the normally reliable Luka Milivojevic had his spot kick saved by Ederson.
With Palace defending high and breaking fast, the closest that City came to a goal was when substitute striker Sergio Aguero's shot took a slight deflection off a defender and hit the post midway through the first half.
Aguero had come on for Gabriel Jesus, who was the second player to come off injured after Palace captain Scott Dann and the third altogether with City playmaker Kevin De Bruyne carried off in added time.
-Reuters