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.