Manchester City dealt a hammer blow to Arsenal's fading title hopes as Premier League leaders Chelsea and Liverpool endured frustrating home draws.
Manchester United failed to capitalise on stumbles by their title rivals after being held to a 0-0 draw at Aston Villa.
Stoke City won the battle of the promoted clubs against West Bromwich Albion, Bolton Wanderers were impressive winners at Middlesbrough and Hull City scrapped for a draw at Portsmouth.
Arsenal's turbulent week took a further nosedive as Manchester City bounced back to form with a comfortable 3-0 home triumph.
William Gallas had been left behind, and stripped of the captaincy, following his outburst as Arsenal turned up at the City of Manchester Stadium with a team lacking a driving force and leader.
A disappointing first half came to life in injury-time when City took the lead after a mistake in the Arsenal defence.
Stephen Ireland was unable to take in a Benjani pass, but Gael Clichy sliced his attempted clearance into the path of the City midfielder, who finished clinically past stand-in captain Manuel Almunia
City extended their lead on 56 minutes with a delightful goal as Shaun Wright-Phillips won possession in his own half before slipping a pass through to Robinho, who lifted an impudent chip over Almunia.
Gunners keeper Almunia then had a fortunate escape after he parried Ireland's shot, but Robinho was ruled offside before the Brazilian saw another attempt cleared off the line by Johan Djourou.
Robin van Persie had a cheeky goal ruled out before City added a third in the last minute when Daniel Sturridge converted from the penalty spot after the substitute had been tripped up by Djourou.
Chelsea's stuttering home form continued after a stubborn rearguard action from Newcastle United resulted in a 0-0 draw at Stamford Bridge.
The leaders thought they had taken the lead 10 minutes into the second half when Joe Cole wheeled away in delight after stabbing home from close range.
However, replays showed that Cole had strayed into an offside position before Florent Malouda's firmly-struck shot had been parried by Shay Given.
Liverpool's old frailties came back to the surface at Anfield as Fulham battled for a 0-0 draw against the title contenders.
Robbie Keane was denied in the first half, and Dirk Kuyt in the second, but the Reds rarely threatened to score against a well-drilled Fulham side.
Champions United remain eight points behind the leading duo after a 0-0 draw at Aston Villa in a game of few chances.
Wayne Rooney had United's best chance of the match in the second half, but he lashed wildly over the bar from close range after being played in by an astute pass by Michael Carrick.
Villa similarly failed to seriously trouble the opposition keeper, but could have been awarded a penalty on 58 minutes when Nemanja Vidic's shirt tug on Gabriel Agbonlahor was not spotted by the referee.
Hull City's never-say-die spirit was again in evidence as Phil Brown's men twice came from behind to force a 2-2 draw at Portsmouth.
Portsmouth came close to taking the lead after just two minutes when Papa Bouba Diop's header from Glen Johnson's cross crashed off the underside of the bar and bounced down on the line, with the hosts appealing for a goal.
On 20 minutes, Pompey did nose ahead when Younes Kaboul dug out a cross and Peter Crouch rose well to head home from close range.
The Tigers rallied in the second half and equalised on 54 minutes when Michael Turner headed home at the far post after Dean Marney's corner had been helped on.
Pompey regained the lead on 63 minutes with a stunning goal from Johnson, who brought a Hull clearance under control and unleashed a magnificent volley which flew past Boaz Myhill from 30 yards.
The visitors, however, are not a team to give up and snatched a point a minute from time when Ian Ashbee's shot deflected into the air before bouncing off Pompey defender Noe Pamarot's head and past David James.
Middlesbrough's five-match unbeaten run came to a lacklustre end as Bolton ran out convincing 3-1 winners at the Riverside.
Bolton enjoyed a dream start on Teesside as Gretar Steinsson and Matthew Taylor combined to put the visitors 2-0 up inside the opening 10 minutes.
The opener arrived on eight minutes when Taylor curled a free-kick from the right to the far post where Steinsson headed home via a deflection off team-mate Kevin Davies.
And just two minutes later, Steinsson's low cross into the box was expertly controlled by Taylor and he fired a right-footed shot beyond Ross Turnbull and in off the far post.
Boro gave themselves hope on 77 minutes when Emanuel Pogatetz smashed a shot beyond Jussi Jaaskelainen after a corner had pinged around the penalty area.
But within 60 seconds Bolton had restored the two-goal cushion as Johan Elmander ended his goal drought by bringing the ball under control and flashing a crisp shot beyond Turnbull.
Stoke made it five home wins on the spin in all competitions after edging to a 1-0 win over bottom club West Brom at the Britannia Stadium.
A tight game was settled on 84 minutes when Danny Higginbotham played a one-two with Michael Tonge before swinging in a cross to the far post which was headed home by Mamady Sidibe.