David Silva's second-half goal ensured Manchester City returned to the top of the Premier League as Arsenal were defeated 1-0 in an entertaining game at Eastlands.
City's nine-week stay at the summit came to a temporary end after champions Manchester United overcame Queens Park Rangers 2-0 earlier in the day. But Silva's 53rd-minute effort saw City leapfrog their neighbours as manager Roberto Mancini celebrated his second anniversary in charge with a win.
Arsene Wenger's Arsenal played their part in a wonderful game but the Londoners could have few complaints as City were denied a second goal when Pablo Zabaleta hit the post. The match saw Arsenal back in Manchester for the first time since suffering an 8-2 thrashing by United on 28 August.
That Old Trafford defeat sent them to 17th in the Premier League table, with the prospects of qualifying for the UEFA Champions League appearing difficult and their ability to mount a title challenge remote.
Yet Arsenal recovered from that humiliating experience to win nine of the following 12 league games, and they returned to Manchester in fifth position and back in contention for a berth in the top four after a run of seven wins in their last eight league outings.
Sergio Aguero and Silva teased and tormented the Arsenal back four in the opening stages while Nasri, who was booed throughout by Gunners fans, looked in the mood to prove a point to Mancini, who has used him sparingly on the Premier League stage.
Yet it was City's Joe Hart who was the busier goalkeeper in the opening 20 minutes, the England international frustrating Gervinho, Aaron Ramsey and defender Thomas Vermaelen all in the space of 60 action-packed seconds.
But it required a fine save by Wojciech Szczesny to deny Mario Balotelli his ninth league goal of the campaign after Per Mertesacker failed to deal with a delightful cross from Micah Richards midway through the first half.
In a compelling free-flowing game, in-form Arsenal striker Robin van Persie was fairly anonymous in the opening half-hour. However, the Netherlands forward flashed a 32nd-minute header narrowly wide from 12 yards before referee Phil Dowd waved away Arsenal claims for a penalty after Toure's challenge on Ramsey.
Silva scores winner
It was City, though, who broke the deadlock early in the second half. Arsenal's defence was exposed down the right flank as Balotelli cut inside the area before gliding past Alex Song and forcing keeper Szczensy to spill the ball.
Silva was first to react, the former Valencia player hooking home from close range to claim City's 50th Premier League goal of the season and 150th since Mancini took charge.
As in an epic boxing match, Arsenal refused to hit the canvas as Theo Walcott and Van Persie were denied by fine saves from Hart. But City should have put the game out of sight, with Aguero and then Nasri spurning chances before full-back Zabaleta rattled the Arsenal post from 25 yards in the 66th minute.
Yet the hosts were forced to survive a couple of late scares before victory was confirmed, Vermaelen twice going close to an equaliser in the closing moments of a top quality contest.
"It was very important after Chelsea, we didn't deserve to lose that game," said Mancini. "It was a big test for our character and I think we showed we are a strong team... we know we shall fight with United and Tottenham and the other teams who are very strong." His counterpart Wenger added: "We were unlucky because we had chances."