The 2011-12 champions went into the game six points adrift of Arsene Wenger's league leaders, but moved within striking distance of the London club by claiming the spoils in an enthralling encounter.
Sergio Aguero opened the scoring for City, volleying home from a corner, only for the returning Theo Walcott to level midway through the first half.
Alvaro Negredo turned home Pablo Zabaleta's cross to put the hosts back in front and City looked to have made the game safe when Fernandinho scored his first goal for the club early in the second half.
England winger Walcott curled home a delightful second as Arsenal rallied, yet David Silva converted Jesus Navas' cross to make it 4-2 and Fernandinho struck again in the 88th minute.
An injury-time header from Per Mertesacker provided little consolation for the visitors, particularly as there was still time for Yaya Toure to add City's sixth from the penalty spot.
Walcott made his first start since September for Arsenal, while City manager Manuel Pellegrini once again preferred Costel Pantilimon to Joe Hart in goal.
The hosts started the stronger and were rewarded after 13 minutes when Aguero met Martin Demichelis’ near-post flick-on from a corner with an acrobatic volley that flew past Wojciech Szczesny.
City’s advantage was almost doubled seven minutes later when Negredo shot wide from Vincent Kompany's throughball.
Despite offering little in response, Arsenal equalised after 31 minutes when Walcott finished a flowing move with a shot from the edge of the area that left Pantilimon flat-footed.
Negredo wasted a gilt-edged chance soon after, but the Spain striker atoned for that miss when scoring from point-blank range in the 39th minute following good work from Toure and Zabaleta.
To make matters worse for Arsenal, Laurent Koscielny sustained an injury as Negredo found the net and the defender was forced off to be replaced by Thomas Vermaelen.
Aguero was also withdrawn through injury after the break, but City grabbed a third when Fernandinho capitalised on sloppy Arsenal defending with a curled finish.
Wenger’s men produced a determined response, Olivier Giroud heading wide before a penalty appeal for handball against Zabaleta went unanswered.
Walcott’s exquisite second provided genuine hope for Arsenal, but City were not to be denied and soon restored their two-goal advantage through Silva.
Jack Wilshere forced Pantilimon into a fine save with a shot from distance, but the midfielder was at fault for City's fifth as he conceded possession to allow Fernandinho to score his second.
That goal came with two minutes remaining, yet there was still time for Mertesacker to pull one back and Toure to finish from 12 yards after James Milner had been brought down by Szczesny.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.