Everything looked rosy at half-time as goals from Dean Richards and Teddy Sheringham seemingly put us in complete control.
But Fulham hit back - and then some. In a one-way last quarter of the game, Junichi Inamoto struck the first from 25 yards, Steed Malbranque swept home from the penalty spot and then, in injury time, Sylvain Legwinski buried a one-on-one chance for the winner.
The first half-hour gave no indication of what would follow.
Not through lack of trying, but neither side could get their renowned passing games going and it was typical derby stuff.
Everything changed on 35 minutes. As goals go, it was as simple as it gets as Acimovic flighted in the corner and Richards outjumped the lofty frame of Knight to power home an unstoppable header from close range.
All of a sudden chances came from every angle as Fulham wobbled. Richards was blatantly blocked as he attempted to reach a Davies throw, Legwinski had to scramble off his own line and Van der Sar almost punched the ball into his own net under pressure from Sheringham.
A second goal looked likely and came just before the break. Ferdinand fed the flying Etherington whose cut back was an open invitation for Sheringham to slide the ball home from 10 yards.
Even the start of the second half was all Spurs. Acimovic attempted a lob from 60 yards, Etherington went close and Acimovic's header was ruled out for offside.
Malbranque, on at half-time, got more and more into the game and the home crowd were lifted on the hour as Keller produced the save of the night to keep out Davis' piledriver.
Suddenly Fulham were on top. Sava headed straight at Keller and Hayles nodded wide from close range.
On 68 minutes the breakthrough. We lost the ball 30 yards out, Davis drove into the box and a half-clearance was swooped on by Inamoto, who lashed a low shot into the corner.
Finnan hit the woodwork and then a sickening collision between Perry and Wome left both players flat out. The 50-50 looked even worse on TV re-runs in the press box and there was an eerie silence as medical staff surrounded both men. Perry, who took Wome's boot full in the face, thankfully rose to his feet and walked off, albeit in a daze. Wome was stretchered off.
Fulham picked up where they left off after that lengthy break and won a controversial penalty with seven minutes left.
Hayles shrugged Gardner off the ball, the pair locked arms and as Gardner toppled over, Hayles went with him. Referee Mark Halsey waved away Fulham's appeals but the assistant linesman was insistent and continued to weave his flag until the referee would see him. The result was a penalty, dispatched clinically by Malbranque.
Still Fulham bombed on. Keller blocked Finnan's one-on-one and did the same, even better, when Malbranquwe burst through in injury time.
But there was still time for one more attack. Thatcher went down under a challenge, Legwinski picked up the ball, played a one-two with Sava and kept his composure to finally beat Keller.
4mins: Gardner headed away dangerous free-kick from Inamoto.
8mins: Etherington cut inside Malbranque, low cross found Sheringham, lay off to Ferdinand who shot inches wide from tight angle.
15mins: Failure to clear the ball twice led to Sava being just inches away from turning home Boa Morte's shot.
19mins: SUB. Hayles on for injured Saha.
20mins: Etherington injected pace into a move, Ferdinand flicked to Davies whose volley from the edge of the box was saved low by Van der Saar.
27mins: Fulham break as Wome carried the ball 40 yards before feeding Legwinski who hit a tame shot easily dealt with by Keller.
31mins: Ferdinand headed over Acimovic's corner.
32mins: Fierce Legwinski drive, on target, deflected just wide by Thatcher.
34mins: Sheringham flicked on for Ferdinand but the ball wouldn't come down for him before Goma's challenge.
35mins. GOAL. Acimovic corner met by Richards, towering above Knight, unstoppable from eight yards. 1-0.
38mins: Richards run to meet Davies long throw blatantly blocked by Inamoto but nothing given.
41mins: Legwinski scrambled away after Gardner turned Acimovic free-kick back across face of goal.
42mins: Van der Sar almost punched backwards into his own goal after failing to deal with Sheringham's challenge for a high, looping ball.
43mins: GOAL. Lovely ball inside from Ferdinand to Etherington who drove with pace into danger zone before cutting back for Sheringham to slot into the far corner from 10 yards. 2-0.
45mins: Ferdinand inches away from Davies' attempted volley as purple patch continued.
Half-time: Fulham 0-2 Spurs
Half-time: SUB: Mabranque for Boa Morte.
50mins: Cheeky 60-yard attempted lob by Acimovic comfortably gathered by Van der Sar.
52mins: Superb counter attack started by Sheringham's ball out of defence to Acimovic, he found Etherington speeding down the left flank, raced into the box but shot a yard wide across Van der Sar.
55mins: GOAL DISALLOWED. Davies cross headed home by Acimovic but goal ruled out for offside.
58mins: Malbranque's shot from 20 yards no problems for Keller.
59mins: Keller produced magnificent one-handed save at full strength from Davis' thunderbolt.
63mins: Sava headed Malbranque's cross straight at Keller as Fulham's best spell continued.
66mins: Hayles should have done better, headed Finnan's deep cross wide from close range.
68mins: GOAL. Failure to clear lines punished as Inamoto fired home a low drive from 25 yards. 2-1.
71mins: WOODWORK. Hayles managed to shrug off Hayles, fed Finnan who beat Thatcher before clipping the top of the crossbar from close range.
72mins: SUB. Ziege for Acimovic.
74mins: BOOKED. Thatcher for timewasting, apparently.
78mins: SUBS. Doherty for Perry, Collins for Wome. Perry involved in sickening-looking, 50-50 tackle with Wome, who caught the defender full in the face with his studs. Wome was stretched off, Perry walked off, dazed.
83mins: PENALTY, GOAL. Linesman awarded penalty for a Gardner foul on Hayles that referee Mr Halsey has waved away. Linesman continued to flag, the penalty was awarded and Malbranque tucked it away. 2-2.
83mins: SUB. Iversen for Etherington.
88mins: Pass of the night from Davis released Finnan but Keller blocked one-on-one chance.
Injury time: Fulham break two on one as Hayles found Malbranque, through again on Keller who, again, was up to it.
Injury time: GOAL. Thatcher appeared fouled but Legwinski picked up loose ball, played one-two with Sava and stroked the ball into the top corner. 2-3.
Line-ups: Fulham: Van der Sar, Finnan, Inamoto, Sava, Boa Morte (Malbranque, 46), Knight, Legwinski, Saha (Hayles, 19), Davis, Goma, Wome (Collins, 78). Subs: Taylor, Melville.
Spurs: Keller, Perry (Doherty, 78), Gardner, Richards, Thatcher, Bunjevcevic, Acimovic (Ziege, 72), Davies, Etherington, Sheringham, Ferdinand. Subs: Hirschfeld, Iversen, Keane.
Fulham's late revival ripped top spot away from us as we suffered our first Premiership defeat of the season in this memorable derby.