The Citizens needed to respond after going down 2-1 against Newcastle United in the Premier League in midweek and close-in on leaders Liverpool who were five points ahead of them on the table.
Sergio Aguero grabbed an early lead for Pep Guardiola’s charges inside the first minute as he powered a header from close range after Alex Iwobi carelessly lost the ball.
However, Arsenal replied ten minutes later through Laurent Koscielny, who netted from close range with a diving header following a flicked-on corner.
The tempo of the match slowed down after a frantic opening 20 minutes and clear chances were hard to come by on both ends.
The hosts increased their intensity and eventually restored their lead before the break as Aguero slotted home at the back post after being picked out by Raheem Sterling.
Kevin De Bruyne came close twice with similar shots from just outside the box, although Arsenal goalkeeper Bernd Leno was able to thwart the Belgian on both occasions.
Aguero extended City's lead and completed his hat-trick on the hour-mark with an outstretched finish from close range, with Sterling picking up the assist once again.
Emery reacted by making a double substitution six minutes later as Aaron Ramsey replaced Iwobi and new signing on loan from Barcelona, Denis Suarez, replaced Sead Kolasinac.
While the Gunners struggled to carve out chances, Aguero nearly bagged another goal for City after 75 minutes with a thunderous strike from just outside the box that was punched away by Leno.
Guardiola opted to withdraw Aguero and De Bruyne for the remaining stages of the second half as the Citizens were able to see out the rest of game without any issue.