Portsmouth held on to beat Manchester United 2-1 Saturday in the Premier League and help Chelsea move within three points of first place.
United defender John O'Shea scored in the 90th minute and teammate Alan Smith nearly added another in injury time.
Matthew Taylor gave Portsmouth the lead in the 30th by knocking in a rebound, and United defender Rio Ferdinand made it 2-0 with an own-goal in the 89th.
United, who had won seven straight games in the league, lead with 78 points, only three more than Chelsea, who beat Tottenham 1-0 thanks to Ricardo Carvalho's 52nd-minute goal.
Ferdinand scored after a mix-up with United goalkeeper Edwin van der Sar. The England defender tapped the ball toward goal with Van der Sar off his line and it trickled into the net.
Both United and Chelsea have six games left and play each other in their penultimate Premier League match at Stamford Bridge on May 9.
Liverpool beat Reading 2-1 to secure third place, and Arsenal lost their first league game at Emirates Stadium, falling 1-0 to relegation-threatened West Ham.
Liverpool have 60 points, followed by Arsenal with 55, Bolton with 53 and Everton, who beat Fulham 4-1 on Friday, with 50.
Also on Saturday, it was: Blackburn 1, Aston Villa 2; Middlesbrough 4, Watford 1; Sheffield United 1, Newcastle 2; and Wigan 1, Bolton 3.
Chelsea had been frustrated by Tottenham's defense during the first half, but Carvalho scored from a 25m shot in the second half after a pass from John Obi Mikel.
Dirk Kuyt headed in the winning goal for Liverpool in the 86th minute after the Reds had taken the lead in the 15th when defender Alvaro Arbeloa curled the ball inside the far post. Brynjar Gunnarsson scored with a low drive in the 47th to equalize for Reading.
"It was difficult after a Champions League game and with the players focusing on the Champions League," Liverpool manager Rafa Benitez said. "It was difficult to play against a physical team who were pressing and working hard to the end."
Bobby Zamora scored with a long-range shot in the 45th at Arsenal.
In the second half, West Ham goalkeeper Robert Green saved a low shot from Gilberto and also pushed away a chance from Emmanuel Adebayor, while Cesc Fabregas had an attempt come back off the underside of the crossbar.
After three consecutive league victories, West Ham are in 19th place with 29 points, flanked either side by Sheffield United (31) and Watford (20), who both lost on Saturday.
Sheffield United fell to an 80th-minute goal from Newcastle defender Steven Taylor. The Blades had leveled in the 74th with a goal from Christian Nade. Obafemi Martins scored Newcastle's other goal.
Watford lost 4-1 to Middlesbrough. Two goals from Mark Viduka and one each from George Boateng and Fabio Rochemback -- combined with West Ham's win -- means relegation is virtually sealed for the Hornets. Damien Francis scored for Watford.
Despite scoring first through Emile Heskey, Wigan lost 3-1 to Bolton. Andranik Teymourian scored twice in five minutes in the second half, after Nicolas Anelka leveled in the 44th.
Aston Villa defeated Blackburn 2-1 with goals from Patrik Berger and Gabriel Agbonlahor.