Manchester United suffered their first home defeat of the season as Gabriel Agbonlahor's first half goal earned Aston Villa a 1-0 victory at Old Trafford.
The Red Devils never managed to hit top gear and the defeat let Chelsea off the hook, who drew 3-3 at home to Everton.
Agbonlahor scored the only goal of the game in the 21st minute, stealing in at the near post to head home an Ashley Young cross.
It means Chelsea extended their lead at the top of the Premier League - but only by a point after they were held 3-3 at home by beleaguered Everton.
David Moyes' side went into the game at Stamford Bridge woefully out of form and short on numbers, but managed to stun the division's best defence. It was a day to forget for goalkeeper Petr Cech, who scored an own goal and was at fault for Everton's third goal of the afternoon.
Everton took the lead in the 12th minute when Louis Saha's shot struck the post, came back out and went in off Cech. But the lead did not last long as Chelsea struck twice in five minutes to turn the game on its head. Didier Drogba levelled the scores before strike partner Nicolas Anelka was on hand to bag the second.
But Everton shoved resolve to level on the stroke of half-time as Yakubu scored his first Premier League goal for almost 13 months.
Drogba put Carlo Ancelotti's side back in front just before the hour mark but their hopes of claiming all three points were hit when the ball rebounded off Saha for the sixth goal of a scintillating match, with Cech in no man's land at a free-kick.
The shock of the afternoon came at White Hart Lane as Wolverhampton Wanderers claimed a superb 1-0 win away to Champions League chasers Tottenham Hotspur. After seeming to be on a relentless downward spiral, Wolves have now won back-to-back games. Their winner came from forward Kevin Doyle after just three minutes.
Manchester City got back to their old habits by drawing their eighth match in nine, at struggling Bolton Wanderers. In another entertaining encounter, Croatia international Ivan Klasnic put the home side in front on 11 minutes. In-form Carlos Tevez levelled for Mark Hughes' side before Gary Cahill restored the lead two minutes before the break.
But before the players headed down the tunnel there was still time for Micah Richards to bring the visitors back on level terms again.
Bolton must have thought they had won the game when Klasnic grabbed his second of the game on 53 minutes, and then City striker Craig Bellamy was dismissed for picking up a second booking. But City, who have lost just one league game all season, were not to be denied as they equalised for a third time with Tevez scoring his second.
Birmingham City's brilliant run of form continued as they recorded another victory, and yet again it was Lee Bowyer who was the hero as he netted the only goal of the game against the club he supported as a boy, and used to play for, West Ham United.
Burnley and Fulham shared the spoils at Turf Moor. Bobby Zamora opened the scoring five minutes after half-time but the lead did not last long as Wade Elliott earned a 1-1 draw.
Sunderland will be kicking themselves after they conceded a late goal at home to bottom club Portsmouth. Darren Bent had scored in the first half only for Younes Kaboul to make it 1-1 in stoppage time. Kaboul was then sent off as he got a second yellow card for removing his shirt in celebration.
There was another four-goal thriller at the Britannia Stadium as Stoke and Wigan drew 2-2. Emmerson Boyce headed in from a yard out to net the first of the afternoon but Tuncay Sanli scored for Stoke before the break. Wigan went back in front when Maynor Figueroa scored an inspired free-kick from inside his own half but, just moments later, defender Ryan Shawcross made sure both sides left the DW Stadium unbeaten.
In the day's final game, Hull City and Blackburn Rovers could not muster a goal.