Chelsea staged a second-half fightback to claim a stunning 3-1 win over title rivals Manchester City that ended with a bench-clearing melee and two red cards.
Sergio Aguero was sent off in injury time for a nasty challenge on David Luiz and Fernandinho also saw red in the scuffle that followed as City lost their cool after a potentially damaging defeat.
City dominated the first hour, but had only a Gary Cahill own goal to show for it before quickfire strikes from Diego Costa and impressive substitute Willian transformed the game.
Eden Hazard wrapped up the Premier League leaders' eighth successive win in the last minute before controversy erupted.
Aguero and Luiz had clashed earlier in the game, with the Brazilian perhaps lucky to escape punishment for bringing down the City striker as he looked set to race in on goal.
City will be left to wonder how they failed to win a game they so clearly had control of, but questions will now be asked of their discipline after a result that leaves them four points behind the Londoners.
The game got off to a ferocious start, with full-blooded challenges flying in from both sides. At one point three players lay on the turf after heavy blows, but referee Anthony Taylor did his best to play on.
Taylor's decision-making brought him into sharp focus, however. City wanted an early penalty after David Silva turned inside Cahill and the ball hit the wrong-footed defender's arm as he slipped, but nothing was given.
While that was debatable, Taylor provoked fury in the City ranks when he played on after Luiz appeared to nudge Aguero over when in full flow.
Aguero had seized on a poor header by Cesar Azpilicueta and looked on course to burst through on goal when Luiz intervened and knocked him off stride.
But, despite this controversy, after surviving a couple of early Hazard chances, City were starting to assert some authority.
Aguero had a shot tipped over the bar by Thibaut Courtois, another blocked by Azpilicueta and headed wide from a brilliant Kevin De Bruyne cross. Fernandinho also had a goal disallowed for offside and Ilkay Gundogan was denied a penalty after a challenge by N'Golo Kante.
It came as no surprise when City took the lead just before the interval as Jesus Navas' cross was sliced into the roof of his own net by Cahill.
City looked to ramp up the pressure early in the second half, but spurned a number of chances to double their advantage.
De Bruyne had shot blocked by Courtois and remarkably hit the bar from six yards after being played in by Navas.
Aguero also pounced on a poor back pass by Marcos Alonso only for Cahill to clear off the line, while he was twice denied by Cortois.
Chelsea soaked up the pressure and hit City with a sucker punch on the hour as Costa brilliantly controlled a long pass from Cesc Fabregas - recalled in the absence of Nemanja Matic - and fired home a low shot. Nicolas Otamendi was completely undone by the skill on show from the in-form Chelsea forward.
City pressed back in a bid to regain control, but were caught on the counter-attack just 10 minutes later as Chelsea swept forward from deep inside their own half.
Willian, impressive since coming off the bench after 50 minutes, raced on to a Costa pass and Otamendi was again found wanting as the Brazilian drove home a low shot.
City pressed again with Pep Guardiola sending on Yaya Toure and Kelechi Iheanacho, but Chelsea defended stoutly.
Hazard broke to settle the game as time ticked away and City's frustration boiled over as Aguero went in heavily on Luiz and ugly scenes involving many personnel from both sides on the touchline followed.
Willian - Chelsea were second best when the Brazilian came on for the ineffective Pedro with 40 minutes remaining and he played a big part in changing the momentum of the game. Capped his contribution with a fine run and finish to put Chelsea 2-1 ahead.
The most unpopular man at the Etihad Stadium was Anthony Taylor, and City certainly had cause to feel hard done by. The most controversial moment came midway through the first half when a poor touch from Cesar Azpilicueta looked to have played Sergio Aguero clean through until he was nudged by David Luiz. But, with the home fans baying for a red card, Taylor deemed it not even to be foul. He also turned down three penalty appeals and then sent off Sergio Aguero and Fernandinho after an injury-time melee, although both of those seemed just.
VIEW FROM THE BENCH
City boss Pep Guardiola called his counterpart Antonio Conte possibly the best manager in the world ahead of the game, and it was the Italian who won the tactical battle. Guardiola would have been more than happy after 59 minutes with his side ahead and dominating. But Kevin De Bruyne's miss with the goal gaping proved the turning point and Chelsea's prowess on the counter-attack earned them the win. Guardiola also now has to cope with missing Aguero and Fernandinho through suspension.