Arsenal knew that anything less than victory might allow City to go top, but it was not until Santi Cazorla claimed a quick-fire brace mid-way through the second half that they put paid to Fulham at the Emirates Stadium.
Fulham goalkeeper Maarten Stekelenburg had frustrated Arsenal in the first half, but he was beaten in the 57th minute when Cazorla slid a shot past him after a neat interchange involving Olivier Giroud and Jack Wilshere.
The Spanish midfielder added a second five minutes later, collecting the ball on the edge of the box after Nacho Monreal's cross was partially cleared and drilling a low shot into the bottom-right corner.
City stole above Chelsea into second place, a point behind Arsenal, after sinking Cardiff 4-2 on a day of milestones at the Etihad Stadium.
Edin Dzeko broke the deadlock in the 14th minute with a goal that was both City's 100th of the season and the first goal to require the use of goal-line technology in the Premier League.
The Bosnian striker's miscued effort from David Silva's pass was hacked away from beneath the crossbar by Aron Gunnarsson, but Hawkeye replays shown on the stadium's video screens confirmed that the ball had crossed the line.
Craig Noone equalised in the 29th minute after exploiting slack defending from Martin Demichelis and Vincent Kompany, but Jesus Navas restored the hosts' lead four minutes later with a measured finish.
Yaya Toure added a third goal in the 76th minute after a one-two with Sergio Aguero, who got on the score-sheet himself three minutes later to claim his first league goal since returning from a calf injury.
Fraizer Campbell pulled a goal back late on for Cardiff.
Surprise victors at Anfield last season, Villa opened up a 2-0 lead inside 36 minutes after Andreas Weimann tapped in Gabriel Agbonlahor's cross and Christian Benteke exploited an error by Simon Mignolet to head home.
However, Daniel Sturridge equalised in first-half injury time, stabbing home from Jordan Henderson's flick, before Steven Gerrard equalised with a 53rd-minute penalty after Villa goalkeeper Brad Guzan felled Luis Suarez.
Sunderland hit back against Southampton, Newcastle beat West Ham
Southampton were denied a morale-boosting victory after Sunderland hit back from 2-0 down to record a 2-2 draw in an engaging encounter at the Stadium of Light.
Despite being rocked by the resignation of chairman Nicola Cortese on Wednesday, Southampton made a breezy start and looked to have taken control with first-half goals from Jay Rodriguez and Dejan Lovren.
Jason Puncheon atoned for a woeful penalty miss at Tottenham Hotspur last weekend by scoring the only goal for Crystal Palace in a 1-0 win over Stoke City that catapulted his side out of the relegation zone.
Puncheon had shanked a spot-kick high and wide in the early stages of a 2-0 defeat at White Hart Lane, but he made amends with a low strike in the 51st minute to give manager Tony Pulis victory over his former club.