Aston Villa paid the penalty for two missed spot-kicks from Juan Pablo Angel as Fulham captain Lee Clark salvaged a point with an injury-time strike.
Clark pounced on a Villa clearance to hammer home from 18 yards and cancel out Angel's header from midfielder Thomas Hitzlsperger's corner.
Andy Cole had a chance to equalise but he too missed a penalty after Olof Mellberg had fouled Luis Boa Morte.
But Angel was then twice denied from the spot by Edwin Van der Sar.
Both sides, languishing in mid-table, battled hard in the first half but produced little in the way of fluid play.
Fulham striker Tomasz Radzinski could have changed the mood of the half as early as the first minute when his stinging 18-yard effort was well held by Villa keeper Thomas Sorensen.
The Canadian wasted a better chance just before the break when he managed to scoop Sorensen's parry over the bar from four yards out.
The first few scrappy moments of the second half did not bode well for the rest of the match, but that all changed on 55 minutes when Angel managed to meet Hitzlsperger's corner.
Despite a valiant effort on the line from Zesh Rehman, the officials had no hesitation in awarding the goal.
The home crowd demanded a quick response, and it looked like they were going to get in when Villa defender Mellberg fouled Boa Morte in the box.
Cole stepped up, but could only screw his spot-kick wide.
Minutes later, Villa won a penalty of their own when Moritz Volz fouled Luke Moore, but this time, it was Angel who wasted the opportunity as Van der Sar easily parried.
Angel was given the chance to make amends when Moore was fouled again in the 18-yard box, this time by Liam Rosenior.
But the Colombian was thwarted yet again by Van der Sar, whose guessed correctly once more by diving to his right.
And both Angel and Villa paid the full price for those misses when concerted late pressure from Fulham brought an injury-time equaliser.
Clark was quickest to react to a clearance, and duly drove the ball home to earn the Cottagers a point.
Fulham boss Chris Coleman singled out Edwin van der Sar for praise:
"It was a fantastic performance. A few clubs might be kicking themselves that they didn't sign him but I don't really care about that.
"He made two great saves and we've got him for another year which is a big boost for us.
"Edwin showed incredible concentration for his penalty saves and we got out of jail with a great strike by Lee."
Aston Villa assistant Roy Aitken said Juan Pablo Angel will not take another penalty this season:
"The manager made it very clear that he wasn't happy with the fact he took the second penalty.
"He thought he should have stepped aside and let someone else take it. Basically he has told him that he will not take another penalty this season.
"It is two points lost for us. We had the game under control."
Fulham: Van der Sar, Volz, Knight, Rehman, Rosenior, Clark, Diop, Pembridge, Radzinski (John 68), Cole (McBride 73), Boa Morte.
Subs Not Used: Legwinski, Crossley, Goma.
Booked: Boa Morte.
Goals: Clark 90.
Aston Villa: Sorensen, De la Cruz, Mellberg, Ridgewell, Barry, Solano (Djemba-Djemba 79), Hendrie (Davis 64), Berson, Hitzlsperger, Cole (Luke Moore 45), Angel.
Subs Not Used: Laursen, Postma.
Booked: De la Cruz, Angel, Davis.
Goals: Angel 55.
Ref: C Foy (Merseyside).