The striker tapped home after his USA international team-mate Kasey Keller clawed out Ian Pearce's close-range header from a Sean Davis corner in the 66th minute.
In the end Fulham just about edged it in very difficult conditions with the wind swirling around Loftus Road and in doing so, ended our run of four wins and a draw since the turn of the year.
On a positive note, Christian Ziege completed his first game since Christmas 2002.
The momentum of this lively encounter swung towards the home side in the final seconds of the first half.
We held a deserved 1-0 lead as injury time ticked away but then Michael Brown clipped Luis Boa Morte's heels as he burst into the box - the incident right on the line - and Steed Malbranque comfortably slotted home the spot kick.
Robbie Keane had already struck the woodwork when he opened the scoring on 17 minutes.
His tricks and turns bamboozled Pearce, who handled right in front of referee Matt Messias and the penalty was clinical, driven into the bottom corner.
We held the upper hand for the rest of the half although both sides had chances and Keller produced the save of the match to keep out Barry Hayles.
Fulham had the better of the conditions in the second half and eventually the better of the game, driven on by the Lee Clark/Davis axis in midfield and Malbranque's clever play.
However, Van Der Sar still had to save well twice from Michael Brown and Helder Postiga and Keane's appeals for another penalty when Pearce bundled into the back of him were waved away.
At the other end, Keller denied McBride and Volz, Clark's header was inches wide but Keller could do nothing to prevent McBride's winner having somehow kept out Pearce's point-blank header.
MINUTE BY MINUTE GUIDE
6mins: First effort, Davis stumbled past two challenges, tame shot easily fielded by Keller.
12mins: Van Der Sar out quickly to gather from Postiga chasing down Knight's header back.
16mins: WOODWORK. Skidding shot from Keane, 25 yards out, tipped onto inside of post by Van Der Sar.
17mins: PENALTY/GOAL. Keane tricks in box, Pearce handball, Keane clinical penalty into bottom corner. 1-0.
20mins: SAVE. Brilliant one-handed stop from Keller to deny Hayles after he broke onto Malbranque pass.
31mins: YELLOW. Ziege for foul on Boa Morte.
35mins: Good defending by King to block from Clark after he worked a yard in the box.
37mins: Boa Morte snap-shot on the turn from 20 yards always going wide.
40mins: Postiga effort blocked by Pearce after Keane led quick break.
44mins: SAVE. Van Der Sar just managed to claw out vicious inswinging corner from Postiga.
Injury-time: PENALTY/GOAL. Boa Morte burst into the box halted by Brown trip. Malbranque slotted penalty. 1-1.
Half-time: Fulham 1-1 Spurs
48mins: Half-chance for Postiga from Carr's cross but failed to make contact.
51mins: PENALTY? Pearce appeared to bundle into back of Keane, appeals for penalty waved away.
55mins: SAVE. Van Der Sar low to his right to palm away Postiga effort after Dalmat and Keane broke. From corner, crucial block from Knight to deny King.
56mins: YELLOW. Hayles for foul on Carr.
58mins: SUB. McBride for Hayles.
64mins: Postiga inches away from wicked, low, Ziege cross.
65mins: SAVE. McBride onto long ball, Keller gambled on coming out, managed to claw away McBride's attempted lob.
66mins: GOAL. Keller did well to keep out Pearce free header from Davis corner, McBride there to tap home rebound. 1-2.
69mins: SAVE. Keane led break from Fulham corner, fed Brown in box, shot destined for top corner until Van Der Dar tipped over.
70mins: SAVE. Van Der Sar did well to flick away inswinging Postiga corner.
73mins: SAVE. Malbranque laid in Volz, cut inside Davies, shot parried away by Keller.
77mins: Davis 30-yarder drifted a yard wide.
78mins: CLOSE. Clark clever one-two with Malbranque, header inches wide.
78mins: SUB. Zamora for Postiga.
79mins: PENALTY? Keane down under Djetou's challenge, no penalty.
80mins: McBride inches away from Boa Morte's free-kick.
88mins: SUB. Petta for Boa Morte.
Line-ups: Fulham: Van Der Sar, Volz, Clark, Boa Morte (Petta, 88), Malbranque, Hayles (McBride, 58), Knight, Djetou, Davis, Bocanegra, Pearce. Subs: Crossley, Inamoto, Sava.
Spurs: Keller, Carr, Gardner, Doherty, Ziege, King, Davies, Brown, Dalmat, Keane, Postiga (Zamora, 78). Subs: Burch, Bunjevcevic, Jackson, Kelly.
Referee: Matt Massias.
Brian McBride's debut goal for Fulham in the second half at Loftus Road ended our unbeaten run in 2004.