In a game with little to no action throughout, Martinelli coming from an injury as a substitute to score the only goal of the game, to move Arsenal up on the log.
The win ended a run of 12 consecutive defeats against City, moving just a point behind Tottenham who sits on top of the league.
Manchester City had the first sight of goal from their first corner of the afternoon, Josko Gvardiol hooked goalwards, but Declan Rice was well placed to head off the line. The danger was not cleared though, until Nathan Ake blazed over when the ball fell to him inside the area.
Kovacic was lucky to still be in the game after a careless tackle on Odegaard and something similar as he launched a tackle on Declan Rice.
Gabriel Martinelli was introduced in the second half, returning to action after missing the last five games with injury.
Havertz set up Martinelli to score the only goal of the game which got Ederson wrong-footed after it came off Nathan Ake’s face.
It was all that Arsenal needed to secure a win after 12 straight loss against Manchester City, and Pep Guardiola’s first loss against Arsenal.