Arsenal's title dream is over after they were beaten 2-1 by Tottenham at White Hart Lane in a pulsating north London derby.
Youngster Danny Rose, making his first Premier League start, put Spurs in front after ten minutes with a rasping volley from the edge of the area after Manuel Almunia had punched clear a corner.
Gareth Bale made it two just after half-time when Arsenal switched off at the back. Bacary Sagna played Bale onside and as Defoe's pass found him inside the area he swept the ball into the net.
Robin van Persie came on for Arsenal and injected new life into their attacking play, but he was denied a goal by two brilliant Heurelho Gomes saves.
Nicklas Bendtner did pull a goal back for Arsenal with five minutes left after a cross from Theo Walcott but Spurs held on to boost their hopes of finishing fourth and clinching a Champions League spot.
Aston Villa's hopes of achieving Champions League football suffered another setback despite Everton defender Phil Jagielka's injury-time own goal rescuing them a point in a match which finished 2-2 at Villa Park.
Villa boss Martin O'Neill had challenged his side to win their remaining six games to give them a realistic hope of overhauling Manchester City and Tottenham in the race for fourth place in the Premier League.
But they had to settle for a point after cancelling out Tim Cahill's double with Gabriel Agbonlahor's 50th goal for the club and Jagielka's late helping hand.
Wigan missed a golden opportunity to ease their relegation worries after being held to a goalless draw by an already-relegated and understrength Portsmouth at the DW Stadium.
Pompey's Jamie Ashdown was by far the busier goalkeeper but his display was certainly not in the brilliant category as the Latics squandered a number of chances.
And although the draw lifted Wigan up a place to 16th they are only five points above the bottom three with the visit of Arsenal to come at the weekend.