LONDON -- Carlos Bocanegra scored a late equalizer in Fulham's 2-2 tie at Chelsea on Saturday and DaMarcus Beasley's first Premier League goal was Manchester City's winner at West Ham.
Chelsea appeared on course for a win over its west London neighbor Fulham at Stamford Bridge when Bocanegra scored with 6 minutes left for the Cottagers.
Chelsea midfielder Michael Essien failed to clear a crossing pass from Fulham defender Franck Queudrue. Brian McBride's shot was blocked by Blues goalkeeper Hilario and Bocanegra scored on the rebound from close range.
Moritz Volz gave Fulham a lead in the 16th minute with the 15,000th Premier League goal.
Fulham's Liam Rosenior deflected a shot from Frank Lampard into his own net to tie the score, and Chelsea took the lead when striker Didier Drogba scored his 20th goal of the season.
With the tie, defending champion Chelsea is now in second place, six points behind leader Manchester United in the title race. The Red Devils beat Reading 3-2 before 75,910 fans at Old Trafford, with Cristiano Ronaldo scoring twice. He has six goals in his last three games.
United now has 53 points and Chelsea 47. Arsenal slipped from third to fifth after losing 1-0 at Sheffield United.
At Upton Park, Beasley entered the game in the 65th minute for Stephen Ireland and scored a solo winner in the 84th minute.
The midfielder, who is on a loan from PSV Eindhoven for the season, pushed the ball between two West Ham defenders and then outran them both before firing past goalkeeper Robert Green from 18 yards.
In Saturday's other games: Charlton 2, Aston Villa 1; Blackburn 2, Middlesbrough 1; Bolton 3, Portsmouth 2; Everton 3, Newcastle 0; Tottenham 0, Liverpool 1.
Watford-Wigan was canceled after a downpour left the Vicarage field partly flooded.