Milner and Dzeko strike for City to respond to Manchester United as Koscielny and Kompany are sent off on a stormy afternoon at the Emirates Stadium.
The Gunners were forced to play with a man disadvantage for most of the game after Laurent Koscielny was sent off for hauling down Edin Dzeko in the penalty area - although the Bosnian striker missed the resulting penalty.
City made the man advantage count with two first-half goals as James Milner fired an excellent opener from a tight angle before Dzeko did manage to get his name on the scoresheet with close-range tap in.
Both teams were then forced to play the final 15 minutes with 10 men after City captain Vincent Kompany was also sent off for a two-footed challenge on Jack Wilshere.
Under pressure following Manchester United’s 2-1 victory over Liverpool earlier in the day had temporarily extended the gap at the top of the table to 10 points, second-placed City responded to its bitter rival in impressive style while Arsenal remains sixth in the Premier League, six points adrift of the top four.
Arsenal made four changes to the side that drew its FA Cup clash with Swansea as Thomas Vermaelen, Lukas Podolski, Alex Oxlade-Chamberlain and Abou Diaby - after three months out with a thigh injury - returned to the starting lineup. For City, Joe Hart and Matija Nastasic returned while Carlos Tevez was again paired up front with Dzeko with Sergio Aguero still sidelined through injury.
City started brightly and zipped the ball around with confidence in the early stages before the match-defining moment of the game in the ninth minute as referee Mike Dean awarded City a penalty and showed a red card to Koscielny.
While the decision infuriated Arsene Wenger and the home crowd - who hurled abuse at Dean throughout the game - the official had no choice after Koscielny elected to tackle Dzeko in the penalty area as the City striker attempted to turn and shoot.
Yet Arsenal was not punished immediately amid bizarre scenes. Dzeko stepped up himself to take the spot kick, which was saved by Wojciech Szczesny with his legs before the ball rebounded off the post and across the goal line into the goalkeeper’s arms.
City, however, dominated possession and made the man advantage count in the 21st minute with a beautifully worked opener. David Silva was alert enough to take a quick free kick before Tevez slipped a delightful pass to Milner, who smashed his finish into the far corner from a tight angle via the post.
In the 32nd minute, the game was effectively over as a contest as Dzeko did find the net. Milner whipped in an excellent low cross from the right and the forward was on hand to tap home his 10th league goal of the season after Szczesny saved Tevez’s initial effort.
The Premier League champion nearly went three ahead before the break but Wilshere was alert to clear Javi Garcia’s header off the line from a corner.
After the break, City went into cruise control as it looked to save energy and coast to victory. Dzeko headed just off target shortly after the re-start while Tevez was thwarted by Szczesny as he ran through on goal.
Arsenal showed fighting spirit in the second half and was given hope in the 75th minute when Kompany was dismissed for a two-footed lunge on Wilshere. The Belgian clearly won the ball but Dean took action after ruling that the tackle was dangerous.
It made little difference as City saw out the result to repay the traveling fans and keep the pressure on United.