Crystal Palace estuvo cerca de abrir el marcador a los siete minutos, pero el animado Michael Olise solo pudo rozar un tiro desviado del poste. Christian Pulisic luego desperdició una gran oportunidad para el Chelsea cuando un centro de Hakim Ziyech rebotó en sus pies en el área pequeña, pero se enredó y esquivó su intento.
El defensa central Antonio Rudiger forzó una excelente atajada de Vicente Guaita cuando apuntó desde 40 metros y envió una bala desviada hacia la esquina superior, con el español reaccionando para desviar la palma.
La apertura más clara de la mitad del Chelsea quizás recayó en el hombre equivocado. Malang Sarr metió a N’Golo Kante en el arco con 20 minutos para el final, pero solo pudo disparar directamente al portero.
La mejor oportunidad de los anfitriones llegó en el tiempo de descuento de la primera mitad después de que Christian Pulisic fuera desposeído y quizás cometiera una falta en el mediocampo. Olise rompió e hizo entrar a Wilfried Zaha con un lindo pase en profundidad, pero el marfileño solo pudo plantar su remate desviado desde el ángulo.
Chelsea no mejoró después del descanso, y un partido húmedo parecía estar avanzando hacia un empate 0-0 sin incidentes.
Los Blues finalmente tuvieron el balón en el fondo de la red con 15 para el final cuando Ziyech remató a puerta después de que un tiro de Romelu Lukaku fue desviado por el portero suplente Jack Butland, pero una revisión del VAR atrapó al belga en fuera de juego en la preparación.
Parecía destinada a ser una tarde frustrante para el Chelsea de Thomas Tuchel, pero en el último minuto, un centro profundo de Marcos Alonso viajó hasta el segundo poste donde Ziyech estaba disponible para volear expertamente el gol de la victoria.
Zaha tuvo la oportunidad de empatar en el tiempo de descuento, pero solo pudo arrastrar un zurdazo cruzado al área y desviado.
