Manchester City’s Premier League title party was put on hold as Chelsea fought back to win 2-1 at the Etihad Stadium.
City hosted Thomas Tuchel’s men, whom they will also face in the Champions League final, knowing that a victory would secure a third Premier League title in four years.
Raheem Sterling had broken the deadlock just before half-time when he slotted the ball in after Sergio Aguero’s heavy touch from a cutback by Gabriel Jesus.
Aguero then had the opportunity to double City’s lead moments later after Billy Gilmour bundled Jesus over in the area to concede a penalty.
However, the Argentinian forward saw his attempted Panenka easily saved by Edouard Mendy, who stayed on his feet to make a comfortable stop.
It proved a costly error as Chelsea equalised just after the hour when Rodri was caught in possession on the halfway line.
Timo Werner and Callum Hudson-Odoi both had goals ruled out for offside, while City saw a couple of penalty shouts turned down by referee Anthony Taylor.
In stoppage time, Marcos Alonso slotted in after Werner pulled the ball back into the six-yard box to complete the turnaround as Chelsea moved third in the table.
Stuart Dallas put the home side ahead from close range in the 13th minute, but Son Heung-min soon pulled Spurs level before Harry Kane saw a goal ruled out by VAR for a marginal offside.
Marcelo Bielsa’s side, though, were back in front just ahead of half-time when Patrick Bamford ended his recent goal drought, with England boss Gareth Southgate watching on from the stands.
Another Kane goal was flagged offside and the England captain’s free-kick clipped the top of the crossbar before Leeds substitute Rodrigo wrapped up the points when he struck with six minutes left.
A first Premier League defeat under interim boss Ryan Mason leaves Spurs in sixth, while Leeds climb back into the top half of the table.
Christian Benteke marked his 100th Premier League start for Crystal Palace with a goal inside the opening two minutes of a 2-0 victory at bottom club Sheffield United.
The Belgium forward met a cross from Eberechi Eze, which went in after coming off Blades defender George Baldock.
United, who have already been relegated, missed the chance to draw level early in the second half when John Egan fired over following a corner.
Benteke was denied a second goal just before the hour when his shot was touched onto the post by Blades goalkeeper Aaron Ramsdale.
With two minutes left, Eze made sure of the points when he scored after a solo run, again via the aid of a deflection, as Roy Hodgson’s men ended a run of three straight league defeats to move onto 41 points, which secures their top-flight status once again.