Manchester City beat Premier League leaders Arsenal 6-3 in a thrilling game at the Etihad Stadium this afternoon.
The first chance of the game fell to the visitors as Jack Wilshere volleyed a deep cross wide of the far post.
City capitalised on the miss, immediately winning a corner at the other end of the pitch, from which Sergio Aguero volleyed in Martin Demichelis's near-post flick-on.
Vincent Kompany set up Alvaro Negredo as the home side looked to increase their advantage over the league leaders, but Nacho Monreal made it difficult for the striker, who eventually sliced his finish wide.
The Gunners were able to get themselves back on level terms after 31 minutes as Theo Walcott unleashed a hopeful strike from the edge of the box, which swerved past a disorientated Costel Pantilimon.
However, Negredo was able to restore the lead for Manuel Pellegrini's side shortly after when Pablo Zabaleta delivered a square cross into the box to leave the striker with a tap in.
As the game approached half time, Laurent Koscielny left the field with an injury and was replaced by club captain Thomas Vermaelen.
Five minutes after the break, Fernandinho opened his Man City account with a curled effort from the edge of the area to put Manchester City 3-1 up.
Three minutes later, Aguero left the field with an injury, and Walcott reduced the deficit to just one goal once again in the 62nd minute with a whipped finish following intricate build-up play involving Mesut Ozil and Aaron Ramsey.
Within three minutes of Walcott's second goal, though, the home side restored their two-goal advantage. Substitute Jesus Navas skipped past the challenge of Monreal and from the winger's cross, Silva sidefooted a finish beyond the reach of Szczesny.
Wilshere almost grabbed Arsenal's third goal with a 25-yard strike with 20 minutes remaining, but Panitilimon was equal to the midfielder's powerful shot.
With Arsenal chasing the game, the home side took advantage of the space in behind the Arsenal defence, and Navas almost sealed the game when he rounded Szczesny, but the Spaniard could only direct his shot from a tight angle into the side-netting.
Three minutes before full time, Fernandinho jinked past two Arsenal challenges in the area and lifted a finish over Szczesny to make it 5-2.
With 88 minutes on the clock, Nicklas Bendtner thought he had got his name on the scoresheet, only for his header to be ruled out for offside, but Per Mertesacker did get a late consolation for the visitors with a 94th-minute header.
In the last of five minutes of injury time, Yaya Toure sent Szczesny the wrong way from the penalty spot after the Polish goalkeeper had brought James Milner down in the last action of an enthralling game.