Manchester City were denied the chance to win the Premier League title early as Chelsea overturned their lead at the Etihad with Marcos Alonso's two minutes into added time winner.
Alonso's late winner lifts Chelsea up into third, one point ahead of Leicester City – and lays down quite the marker ahead of the Blues' Champions League final clash with City in three weeks' time.
Raheem Sterling scored for City on the stroke of half-time before Hakim Ziyech levelled after the hour mark. Gabriel Jesus set up City's goal on 44 minutes with a cross into the box that was meant for Sergio Aguero. However, a bad touch from him saw it fall at the feet of Sterling who smashed it into the net.
Aguero had the opportunity to make up for his mistake three minutes later when Billy Gilmour gave away a penalty for pulling down Jesus in the box.
However, he attempted a Panenka which Edouard Mendy was able to casually stand up and catch. The penalty miss is Aguero's first in the Premier League at the Etihad since October 2016.
City were left rueing that missed chance on 63 minutes when Ziyech levelled the score.
Christian Pulisic and Cesar Azpilicueta teamed up with some nice once-twos before the Chelsea captain passed out to Ziyech who hit a low shot past Ederson
Chelsea had the ball in the net twice more before the end of the half with Timo Werner and Callum Hudson-Odoi both having goals ruled out for offside in the final 15 minutes.
City can win the title if Manchester United lose to Aston Villa on Sunday.