Dimitar Berbatov returned to haunt his old club as he grabbed Fulham's winner to dent Tottenham's hopes of a top-four league finish.
Gareth Bale had an early Spurs header cleared off the line by defender Sascha Riether but the home side looked jaded.
Berbatov struck when he slotted in a low Riether cross before team-mate Brede Hangeland headed just wide.
Spurs' Jermain Defoe had a close-range shot brilliantly saved by Mark Schwarzer late on as Fulham held on.
Berbatov did not celebrate his winner against his former employers, although Tottenham's rivals for a top four spot, Arsenal and Everton, who both won on Saturday and have a game in hand, will be overjoyed.
Spurs now lead north London neighbours Arsenal by just four points and are six ahead of the Toffees in the chase for a Champions League spot for next season..
The victory was Fulham's first in 10 games at White Hart Lane since 2003 and will raise fears among Spurs fans over the kind of collapse they suffered towards the end of last season, which ultimately cost them a Champions League place.
"Fulham deserved the three points but are Tottenham throwing away a Champions League spot for a second season in succession? Mark Schwarzer's save from Jermain Defoe near the end was key as Dimitar Berbatov got the winner against his former club."
The home side, who dropped a place to fourth after Chelsea's win, were not helped by an exhausting Europa League tie, which went to extra-time, at Inter Milan on Thursday night on the back of last Sunday's defeat at Liverpool.
Nevertheless, against a Fulham side which had not played since 2 March, the White Hart Lane outfit struggled to get going.
Bale was back in the Spurs side after being suspended for the trip to Italy and was part of five changes made by manager Andre Villas-Boas.
The Wales international, who was signed by Spurs in 2007 by now-Cottagers boss Martin Jol, quickly went close when his steered header from corner was cleared off the line by Riether.
However, a rusty Fulham's lack of action for two weeks and a tired Tottenham's heavy schedule made for a low-key game as both sides lacked rhythm and sharpness.
Berbatov did put in a dangerous low cross just before half-time, which keeper Hugo Lloris parried and hooked clear before the lurking Bryan Ruiz could pounce.
- Tottenham's defeat by Fulham resulted in their first defeat at home since 3 November.
- Fulham manager Martin Jol left Tottenham in 2007 and won for the first time in four league games against his former club.
Villas-Boas brought on ex-Fulham forward Clint Dempsey for injured centre-back Michael Dawson at the break, although his side were dealt a blow after 52 minutes.
Bale had a long-range shot saved by keeper Schwarzer and Fulham went straight up the other end and scored, with Berbatov turning in a low cross from overlapping right-back Riether.
Minutes later, Fulham almost added a second but centre-back Hangeland nodded inches wide after Ruiz flicked on a Giorgos Karagounis corner.
Villa-Boas threw on striker Defoe in a bid to salvage something from the game and the move would have paid off had it not been for Schwarzer's heroics.
Firstly, the Australian keeper saved Defoe's first-time shot from a right-wing Steve Caulker cross.
Schwarzer then pulled off a fantastic reaction save at point-blank range after the England international tried to sidefoot in a Bale cross at the near post. And Fulham saw the game out to inflict a first home defeat on Spurs since 3 November.
Fulham manager Martin Jol: "To get a win here against my old club is fantastic.
"In the first half we restricted them. We knew they could have been a bit tired.
"We could have scored a second goal but we didn't and they could have got a point out of it at the end. Mark Schwarzer made an incredible save and, at the end, it was nerve-racking."
- 25 Lloris
- 05 Vertonghen
- 16 Naughton
- 20 Dawson (Dempsey - 46' Booked )
- 32 Assou-Ekotto
- 33 Caulker
- 08 Parker
- 11 Bale
- 22 Sigurdsson (Defoe - 62' )
- 10 Adebayor
- 19 Dembele (Carroll - 67' )
- 24 Friedel
- 28 Walker
- 02 Dempsey
- 23 Holtby
- 29 Livermore
- 46 Carroll
- 18 Defoe
- 01 Schwarzer
- 03 Riise
- 04 Senderos
- 05 Hangeland
- 27 Riether
- 07 Sidwell
- 14 Karagounis (Enoh - 77' )
- 16 Duff
- 09 Berbatov
- 11 Ruiz (Emanuelson - 90' )
- 24 Dejagah Booked
- 38 Etheridge
- 15 Richardson
- 18 Hughes
- 28 Emanuelson
- 33 Enoh
- 10 Petric
- 20 Rodallega
Live Text Commentary
Full Time The referee ends the match.90:00 +0:38 Substitution
Substitution Urby Emanuelson comes on in place of Bryan Ruiz.89:20
Tom Carroll takes a shot. Bryan Ruiz gets a block in.89:03
Jermain Defoe takes a shot. Save made by Mark Schwarzer.87:31
Corner taken by Benoit Assou-Ekotto, clearance by Brede Hangeland.86:46
Foul by Dimitar Berbatov on Tom Carroll, free kick awarded. Direct free kick taken by Tom Carroll.76:29
Mark Schwarzer restarts play with the free kick.76:29 Substitution
Substitution Eyong Enoh on for Giorgos Karagounis.76:29 Booking
Booking Clint Dempsey receives a yellow card for unsporting behaviour.76:14
Clint Dempsey challenges Giorgos Karagounis unfairly and gives away a free kick.75:14
The assistant referee signals for offside against Emmanuel Adebayor. Free kick taken by Mark Schwarzer.73:50
Headed effort from inside the area by Emmanuel Adebayor misses to the left of the goal.72:17
Free kick awarded for a foul by Dimitar Berbatov on Jan Vertonghen. Direct free kick taken by Jan Vertonghen.71:49
The ball is sent over by Gareth Bale, Steve Sidwell makes a clearance.69:10
Jermain Defoe takes a shot. Save made by Mark Schwarzer.67:15
Unfair challenge on Dimitar Berbatov by Tom Carroll results in a free kick. Direct free kick taken by Giorgos Karagounis.66:41 Substitution
Substitution Tom Carroll comes on in place of Mousa Dembele.65:45
Corner taken left-footed by Bryan Ruiz to the near post.63:26
The ball is delivered by Benoit Assou-Ekotto, clearance by Steve Sidwell.61:16
Inswinging corner taken left-footed by Gareth Bale from the right by-line to the near post, Dimitar Berbatov makes a clearance.
Substitution Gylfi Sigurdsson goes off and Jermain Defoe comes on.59:01
Giorgos Karagounis takes a shot.58:30
Bryan Ruiz takes a inswinging corner from the right by-line played to the near post, Steven Caulker manages to make a clearance.56:42
Corner taken by Giorgos Karagounis played to the near post, Headed effort from inside the penalty area by Brede Hangeland misses to the right of the target.56:25
Steve Sidwell takes a shot. Save by Hugo Lloris.55:47
Unfair challenge on Steve Sidwell by Mousa Dembele results in a free kick. Giorgos Karagounis takes the direct free kick.53:19
Handball by Sascha Riether. Free kick crossed left-footed by Gareth Bale from left wing, clearance made by Steve Sidwell.52:57
The official flags Dimitar Berbatov offside. Indirect free kick taken by Steven Caulker.52:45
Sascha Riether fouled by Clint Dempsey, the ref awards a free kick. Steve Sidwell takes the free kick.51:16
Sascha Riether provided the assist for the goal.51:16 Goal scored
Goal! - Dimitar Berbatov - Tottenham 0 - 1 Fulham A goal is scored by Dimitar Berbatov from deep inside the penalty area to the bottom left corner of the goal. Tottenham 0-1 Fulham.50:56
Gareth Bale takes a shot. Save by Mark Schwarzer.48:42
Clint Dempsey takes a shot. Blocked by Steve Sidwell.46:00
Effort from outside the penalty box by Steve Sidwell goes wide right of the target.45:01
The second half kicks off.45:01 Substitution
Substitution (Tottenham) makes a substitution, with Clint Dempsey coming on for Michael Dawson.45:00 +3:09 Half time
Half Time The players leave the pitch at half time.45:00 +0:02
Gylfi Sigurdsson produces a right-footed shot from just outside the box that misses to the right of the goal.40:19
Steve Sidwell has an effort at goal from just outside the penalty box which goes wide of the left-hand post.39:44
Corner taken by Giorgos Karagounis played to the near post.39:16
Scott Parker gives away a free kick for an unfair challenge on Bryan Ruiz. Steve Sidwell takes the direct free kick.36:30
Dimitar Berbatov is flagged offside by the assistant referee. Jan Vertonghen takes the direct free kick.35:35
Foul by Emmanuel Adebayor on Giorgos Karagounis, free kick awarded. Direct free kick taken by Sascha Riether.34:40
Gareth Bale takes a shot from inside the box clearing the bar.30:17
Foul by Benoit Assou-Ekotto on Steve Sidwell, free kick awarded. Direct free kick taken by Steve Sidwell.29:25
The referee gives a free kick against Giorgos Karagounis for handball. Gareth Bale takes the direct free kick.28:38
Inswinging corner taken right-footed by Gylfi Sigurdsson from the left by-line, clearance by Brede Hangeland.23:45
Scott Parker takes a long range shot clearing the bar.22:55
Handball by Damien Duff. Free kick crossed right-footed by Gylfi Sigurdsson, Brede Hangeland makes a clearance.22:05
Gylfi Sigurdsson produces a left-footed shot from just outside the penalty box that misses to the left of the target.21:37
The offside flag is raised against Dimitar Berbatov. Scott Parker restarts play with the free kick.20:06
The referee blows for offside. Indirect free kick taken by Michael Dawson.18:03
Unfair challenge on Giorgos Karagounis by Scott Parker results in a free kick. The free kick is swung in left-footed by John Arne Riise, Michael Dawson makes a clearance.16:46
Sascha Riether produces a cross, clearance by Steven Caulker.15:58
Kyle Naughton takes the direct free kick.15:58 Booking
Booking Ashkan Dejagah is cautioned by the ref for unsporting behaviour.15:53
Ashkan Dejagah gives away a free kick for an unfair challenge on Mousa Dembele.15:12
Damien Duff takes the inswinging corner, clearance made by Michael Dawson.12:25
Steve Sidwell challenges Mousa Dembele unfairly and gives away a free kick. Free kick taken by Michael Dawson.7:41
Unfair challenge on Emmanuel Adebayor by Philippe Senderos results in a free kick. Scott Parker takes the free kick.7:13
Free kick awarded for an unfair challenge on Giorgos Karagounis by Mousa Dembele. Giorgos Karagounis restarts play with the free kick.5:22
Gylfi Sigurdsson takes the inswinging corner, Gareth Bale takes a shot. Clearance by John Arne Riise.4:21
Benoit Assou-Ekotto concedes a free kick for a foul on Sascha Riether. Steve Sidwell takes the free kick.1:37
Gareth Bale produces a left-footed shot from just outside the penalty area that goes harmlessly over the target.0:38
Inswinging corner taken from the right by-line by Gareth Bale, clearance by Dimitar Berbatov.0:00
The match gets underway.
Live data and text provided by our data suppliers