The Premiership's top two were both defeated on a day of shocks in the top flight. Arsenal lost 3-2 at Southampton while Liverpool went down by the same scoreline at Fulham.
At St Mary's, a double from James Beattie and a third from Agustin Delgado condemned leaders Arsenal to defeat.
Beattie tucked in his eighth goal in seven games from the penalty spot early in the second half after Sol Campbell was sent off for what referee Paul Durkin saw as a professional foul on Delgado.
Things got even worse for Arsene Wenger's side as the Ecuadorian striker notched a third for Southampton in the 67th minute, though Robert Pires' goal in the 80th minute set up a tense finish.
Delgado's goal marked a wonderful recovery from a goal down by Gordon Strachan's side. Beattie cancelled out a strike from Dennis Bergkamp, the Dutchman volleying in from a Sylvain Wiltord cross in the 36th minute.
While Arsenal were suffering at St Mary's, Liverpool failed to take advantage and were beaten 3-2 at Fulham.
The Cottagers led after five minutes when Reds goalkeeper Jerzy Dudek could only parry a long-range shot from Steed Malbranque and Argentinian striker Facundo Sava followed up to score.
Sava was involved in the second as well as Sean Davis' effort appeared to strike him on its way past Dudek.
A spectacular dead-ball strike from Dietmar Hamann briefly threatened to bring Liverpool back into it but a long-range goal from Sava secured the surprise win.
Alain Goma was sent off for Fulham for a foul on Michael Owen and Milan Baros pulled one back for the Reds late on but they were unable to find an equaliser.
David Moyes' resurgent Everton climbed up to third thanks to a 1-0 win against rock-bottom West Brom.
Tomasz Radzinski scored the only goal in the 35th minute after neat interplay with Chinese midfielder Li Tie to secure the Toffees' sixth consecutive league win.
Chelsea, in third before kick-off, scraped a 1-1 at Bolton. Henrik Pedersen scored the goal for Wanderers at the Reebok Stadium as Carlo Cudicini's run of five clean sheets came to an end.
Claudio Ranieri's side were reduced to 10 men 10 minutes from time when Celestine Babayaro was sent off but the Blues equalised through Jimmy Floyd Hasselbaink in the last minute.
Middlesbrough returned to the top six with a 3-1 win over Manchester City at the Riverside Stadium.
England defender Ugo Ehiogu grabbed the first goal when he managed to escape his markers to head home from Geremi's free-kick and Croatian striker Alen Boksic added a second when he was not picked up following another Geremi centre.
Nicolas Anelka reduced the deficit in the 68th minute but after twice being the supplier Geremi added a third for Boro.
Aston Villa beat West Ham 4-1 at Villa Park. They were coasting when Oyvind Leonhardsen made it 2-0 on the hour after Lee Hendrie had scored the first in the first half.
Paolo di Canio's goal with 20 minutes left threatened to bring the Hammers back into it but Dion Dublin's 100th Premiership goal two minutes later and one from Darius Vassell 10 minutes from time put the seal on Villa's victory.
Villa's bitter rivals Birmingham finally broke through against Sunderland at the Stadium of Light thanks to Clinton Morrison's 89th-minute goal after battering the Black Cats' goal throughout the match.
Manchester United put four points between themselves and Newcastle with a 5-3 win in an early kick-off at Old Trafford.
Ruud van Nistelrooy was United's most effective weapon today and reached a half-century of goals for the club with a hat-trick as Paul Scholes and Ole Gunnar Solskjaer grabbed the others.
Alan Shearer scored his 100th goal for Newcastle from a free-kick, with Olivier Bernard and Craig Bellamy also on the scoresheet.