Cristiano Ronaldo missed a penalty kick to give West Ham a chance to rally for a 2-1 win over defending Premier League leader Manchester United.
|Match winner: Matthew Upson [AFP]|
Ronaldo had put United in front with his 18th goal of the season before Anton Ferdinand and Matthew Upson scored for the Hammers.
Chelsea moved to within four points of the leaders after it beat visiting Newcastle 2-1, while Arsenal could move into first place when it plays at Everton later Saturday.
Also Saturday, Tottenham rallied three times before beating Reading 6-4, Sunderland beat Bolton 3-1, Fulham drew 1-1 at Birmingham, Aston Villa won 2-1 at Wigan, and Middlesbrough won 1-0 at Portsmouth.
West Ham fans cheered Manchester United striker Carlos Tevez onto the field at Upton Park, remembering the goals by the Argentina striker that saved the Hammers from relegation last season.
They were lifted further when Nolberto Solano and Mark Noble shot over the bar, but their enthusiasm was dampened when Ronaldo headed into the net on a cross by Ryan Giggs.
Ronaldo had the chance for a 19th goal of the season, and 13th in the Premier League, when he missed a second-half penalty, and West Ham equalised soon after through Ferdinand.
Ferdinand, whose more famous brother Rio is on Manchester United's team, headed in a cross by Noble from about six meters (yards) in the 77th.
West Ham, which beat United on the last day of last season to keep its place in the Premier League, then got its winning goal in the 82nd.
Upson also headed in from a cross by Noble, clinching his team's eighth win of the season with his first goal for the east London club.
"We're human beings and you can't expect us to be perfect all the time,'' United manager Alex Ferguson said.
"They struggled today, our team. When you concede goals from set pieces, you know you're not at your best.''
United has 45 points from 20 matches, with Chelsea on 41 after a debated winner by Salomon Kalou at Stamford Bridge.
Michael Essien had put the Blues ahead in the 29th but former Manchester United midfielder Nicky Butt equalized in the 56th from a left-wing cross by Charles N'Zogbia.
Newcastle was having the best of the second half but Chelsea clinched the three points with three minutes left when Kalou scored despite appearing to be offside.
|Goals galore: Dimitar Berbatov [AFP]|
"We were very good today,'' Newcastle manager Sam Allardyce said.
"Unfortunately, the game's been taken today by something we can't control. It was a clear, clear offside by two or three yards. We don't know why the assistant referee can't see across the line and put his flag up.
"It's a severe blow to our confidence.''
At the other end of the standings, Sunderland boosted its chances of avoiding demotion with a win over Bolton that lifted it out of the relegation zone.
Kieran Richardson put the Black Cats ahead with his first goal for the club in the 13th, and Kenwyne Jones made it 2-0 in the 32nd.
El-Hadji Diouf got a goal back for the visitors nine minutes later, but Daryl Murphy scored in the last minute as Sunderland held on for just its second win in its past 14 matches.
That lifted Sunderland to 17 points, 10 more than last-place Derby, which hosts Blackburn on Sunday, and one more than Wigan.
Fulham slipped a place to 19th in its last match before Roy Hodgson takes charge as manager.
Spurs and Reading share 10 goals
Dimitar Berbatov hit four goals as Tottenham and Reading almost equalled the record for the Premier League's highest scoring match, set earlier this season when Portsmouth beat the same opponent 7-4.
The teams were drawing 1-1 at halftime after Kalifa Cisse had equalised Berbatov's opening goal, but Ivar Ingimarsson put the Royals ahead in the 53rd and Berbatov made it 2-2 10 minutes later.
Reading striker Dave Kitson, who grew up a Tottenham fan, made it 3-2 in the 69th for the first of six goals in 14 minutes.
Berbatov equalized again, Kitson restored Reading's lead, Steed Malbranque made it 4-4, substitute Jermain Defoe put Tottenham ahead, and Berbatov completed the scoring in the 83rd.
Tottenham now has 24 points and is almost in the top half of the table after overcoming a disastrous start to the season.