Following Chelsea's shock 1-0 defeat at Crystal Palace earlier on Saturday afternoon, Manuel Pellegrini's men, who still have matches in hand, would have gone ahead on goal difference with victory over the out-of-form Gunners.
However, despite taking an early lead through David Silva, it was Arsenal who showed the greater desire as they recovered to turn in a strong second-half display and level through Mathieu Flamini.
Liverpool host Tottenham on Sunday and now have the championship destiny in their own hands, with key clashes against City and Chelsea at Anfield still to come.
City - who had named an unchanged XI following the rampant midweek 3-0 win at Manchester United - started brightly as full-back Pablo Zabaleta had some joy down the right before Jesus Navas curled a 20-yard effort just wide.
Arsenal, with Lukas Podolski starting after his goal in the 2-2 draw with Swansea on Tuesday night, just could not sustain any sort of possession as the visitors closed down space quickly.
However, the home supporters felt they should have been awarded a penalty on 12 minutes when Tomas Rosicky went down under a challenge from Zabaleta. There looked to be some contact, but referee Mike Dean pointed for a goal kick.
The sense of injustice galvanised Arsenal, who started to ask more questions of the City rearguard.
Man City, though, were lightning on the break and swept into the lead on 18 minutes.
Podolski was dispossessed in midfield, as Silva carried the ball forwards and to the edge of the Arsenal penalty area before feeding Edin Dzeko on the left.
His shot cannoned back off the near post, with the ball dropping at Silva's feet and bouncing into the far corner.
Arsenal - thrashed 6-0 at Chelsea to ruin manager Arsene Wenger's 1,000th match last weekend - needed a response to make sure they were not overrun once again in a showdown with a top-four rival.
The ball was in the City net after 21 minutes - but Arsenal midfielder Flamini had already been flagged offside from a deep left-wing cross before he looped his shot over Joe Hart.
Yaya Toure, who had a trial at Arsenal as a raw youngster, was booked on 30 minutes for tugging back Rosicky on the break.
City skipper Vincent Kompany then also saw a yellow card for body-checking Mikel Arteta.
To their credit, Arsenal were still very much in the contest as half-time approached - with Rosicky the next man cautioned for another full-blooded challenge on former Gunners full-back Gael Clichy.
Silva soon followed after he left a high boot in on Arteta as the Spaniard hacked a clearance away in the Arsenal box.
City almost doubled their lead at the start of the second half when Navas' low cross from the right was spilled by Wojciech Szczesny, and the ball deflected off Arsenal defender Per Mertesacker but just the wrong side of the post.
Santi Cazorla's drive stung the hands of England keeper Hart before Arsenal levelled on 53 minutes.
Patient build-up by the home side was rewarded when the ball was worked out to the left for Podolski, and his low centre into the penalty area was swept into the far corner by Flamini as he arrived on cue 12 yards out.
Arsenal suddenly found another gear, with Sagna's cross from the right flying through the six-yard box.
Hart then somehow deflected a fierce angled drive from Podolski behind.
City boss Manuel Pellegrini made a change on 65 minutes as James Milner came on for Navas.
Following their dominant spell, Arsenal started to come under more pressure, but showed great resilience - a trait so often missing this season.
With 13 minutes left, Wenger sent on Alex Oxlade-Chamberlain for Podolski, before City substitute Javi Garcia replaced Nasri.
Arsenal continued to push on but City, always dangerous on the counter, were not about to throw away what could just turn out to be a crucial point in their title quest.