City went ahead on 19 minutes when Kevin De Bruyne beat Petr Cech with a low left-footed shot after a one-two with Fernandinho.
Sergio Aguero doubled the lead with an early second-half penalty, his eighth PL goal of the season, after Nacho Monreal had brought down Raheem Sterling.
Arsenal substitute Alexandre Lacazette pulled a goal back from Aaron Ramsey's pass but another replacement, Gabriel Jesus, confirmed the victory from close range after a pass from David Silva, the Spaniard's seventh assist of the season.
The win takes City on to 31 points. Arsenal slip to sixth.
Man City: 18 Nov v Leicester (A)
Arsenal: 18 Nov v Spurs (H)