Spain playmaker Cazorla converted a first-half penalty after Vincent Kompany fouled Nacho Monreal.
Arsenal added a second after the break when Cazorla's free-kick picked out Olivier Giroud and the France striker headed in from close range.
The result left City five points behind Premier League leaders Chelsea.
City and Arsenal played out a thrilling 2-2 draw when they met at Emirates Stadium in September but this contest was not as free-flowing as that encounter.
Beforehand the focus had been the influence of Alexis Sanchez and Sergio Aguero for Arsenal and City respectively.
Aguero had only returned from a month out with a knee ligament injury as a substitute in City's 1-1 draw with Everton a week ago, and the Argentina international was relatively subdued by his standards.
Media playback is not supported on this device
Chile forward Sanchez, who has scored 12 goals for Arsene Wenger's side this season, was well shackled by the City defence.
Instead it was Cazorla, 30, who was the game's outstanding attacking player and it was fitting that he was to have such an influential role with both goals.
The pressure was on City to beat the Gunners after leaders Chelsea beat Swansea 5-0 in such imperious fashion at the Liberty Stadium on Saturday.
But without Yaya Toure, who is at the Africa Cup of Nations with Ivory Coast, they lacked a player to orchestrate and dictate the game in midfield.
Arsenal went close when Alex Oxlade-Chamberlain escaped down the right flank and picked out Giroud but his header was deflected wide by Kompany.
Media playback is not supported on this device
The chance served notice of Arsenal's intent to hit City on the counter-attack and shortly afterwards they won a penalty.
Monreal played a one-two with Giroud and the Spain left-back went down after his run was blocked by Kompany, who looked rusty in his first match since 13 December having recovered from a hamstring injury.
Cazorla sent the spot-kick low to Joe Hart's left and even though the City goalkeeper dived the correct way he was unable to get a hand on it.
Arsenal packed men behind the ball in the remainder of the first half, which stifled City's creativity with Aguero frequently outnumbered and rarely having the chance to run at players.
City manager Manuel Pellegrini replaced James Milner with Stevan Jovetic at half-time and his side had more impetus immediately after the interval with two up front.
An angled shot from Jesus Navas was beaten away by Arsenal goalkeeper David Ospina, and the Spain winger teased a cross into the box on the hour mark but Laurent Koscielny made a crucial interception.
Despite City's pressure, it was Wenger's side who scored next when Cazorla lifted a free-kick into the penalty area and Giroud escaped his marker and took advantage of a disorganised City defence to head past Hart.
Match ends, Manchester City 0, Arsenal 2.
Second Half ends, Manchester City 0, Arsenal 2.
Foul by David Silva (Manchester City).
Nacho Monreal (Arsenal) wins a free kick on the left wing.
Foul by Fernando (Manchester City).
Tomas Rosicky (Arsenal) wins a free kick in the defensive half.
Corner,  Arsenal. Conceded by Vincent Kompany.
Attempt missed. Vincent Kompany (Manchester City) header from the centre of the box is close, but misses to the right. Assisted by David Silva with a cross following a corner.
Corner,  Manchester City. Conceded by Per Mertesacker.
Attempt saved. Edin Dzeko (Manchester City) left footed shot from a difficult angle on the left is saved in the top left corner. Assisted by Gaël Clichy.
Corner,  Arsenal. Conceded by Frank Lampard.
Sergio Agüero (Manchester City) is shown the yellow card.
Corner,  Manchester City. Conceded by Laurent Koscielny.
Substitution, Arsenal. Mathieu Flamini replaces Aaron Ramsey.
Substitution, Arsenal. Kieran Gibbs replaces Alexis Sánchez.
Attempt missed. Tomas Rosicky (Arsenal) right footed shot from the left side of the box is high and wide to the right. Assisted by Olivier Giroud.
Corner,  Manchester City. Conceded by Héctor Bellerín.
Frank Lampard (Manchester City) wins a free kick in the defensive half.
Foul by Olivier Giroud (Arsenal).
Corner,  Manchester City. Conceded by Francis Coquelin.
Attempt blocked. Stevan Jovetic (Manchester City) left footed shot from the centre of the box is blocked. Assisted by Sergio Agüero.
Foul by Frank Lampard (Manchester City).
Nacho Monreal (Arsenal) wins a free kick in the defensive half.
Corner,  Manchester City. Conceded by Francis Coquelin.
Substitution, Manchester City. Edin Dzeko replaces Jesús Navas.
Corner,  Manchester City. Conceded by Nacho Monreal.
Attempt saved. Jesús Navas (Manchester City) right footed shot from the right side of the box is saved in the bottom right corner. Assisted by Frank Lampard.
Attempt blocked. Alexis Sánchez (Arsenal) right footed shot from outside the box is blocked. Assisted by Héctor Bellerín.
Attempt saved. Alexis Sánchez (Arsenal) right footed shot from outside the box is saved in the bottom right corner. Assisted by Olivier Giroud.
Pablo Zabaleta (Manchester City) wins a free kick in the attacking half.
Foul by Aaron Ramsey (Arsenal).
Corner,  Manchester City. Conceded by Santiago Cazorla.
Corner,  Manchester City. Conceded by Laurent Koscielny.
Goal!  Manchester City 0, Arsenal 2. Olivier Giroud (Arsenal) header from the centre of the box to the bottom left corner. Assisted by Santiago Cazorla following a set piece situation.
Substitution, Arsenal. Tomas Rosicky replaces Alex Oxlade-Chamberlain.
Foul by Stevan Jovetic (Manchester City).
Alexis Sánchez (Arsenal) wins a free kick in the attacking half.
Substitution, Manchester City. Frank Lampard replaces Fernandinho.
Corner,  Manchester City. Conceded by Héctor Bellerín.
Corner,  Manchester City. Conceded by Laurent Koscielny.
Santi Cazorla scored a goal and created another as Arsenal ended Manchester City's 12-match unbeaten league run and damaged their title hopes.