Moritz Volz's goal on the stroke of half time earned Fulham a deserved draw at Aston Villa.
Moritz Volz celebrates his equaliser for Fulham
Gareth Barry slammed Villa ahead from the penalty spot after referee Chris Foy penalised Liam Rosenior for a foul on Stiliyan Petrov.
Barry, though, failed to track Volz who broke into the Villa box to volley home Tomasz Radzinski's deep cross.
Fulham proved a tough nut to crack as they settled for a point against the last unbeaten team in England.
The early spotlight fell on referee Chris Foy who waved away Villa penalty appeals when Rosenior misjudged a cross and the ball clearly struck him on the arm - unintentionally in the referee's view.
Referee Foy evened that up at the other end in an almost carbon-copy incident when the ball struck Gabriel Agbonlahor's hand, but Fulham's appeals were waved away.
Villa should have taken the lead when Petrov swung in a dangerous free-kick which Liam Ridgewell completely missed in front of goal.
As Villa turned the screw Agbonlahor's low cross was missed by Juan Pablo Angel and fell at the feet of Milan Baros who was crowded out.
Bocanegra feels the force of Angel's challenge
Having escaped earlier punishment, the law caught up with Rosenior on 25 minutes when Steven Davis's pass put Petrov in behind the Fulham defender and referee Foy ruled the wrestling match warranted a penalty which Barry despatched with aplomb.
Fulham had their moments, with Zat Knight escaping some slack Villa marking at a corner only to power his header into the ground where it bounced over the bar.
Ridgewell's failure to deal with a cross allowed Brian McBride to hammer a volley across the face of goal where Volz and Claus Jensen failed to make contact.
Fulham drew level just before half-time when Radzinski worked himself a yard of space to cross to the far post where Volz shocked Villa by escaping Barry's attentions to volley home from six yards.
Villa boss Martin O'Neill shifted Agbonlahor into the centre of his attack but the initial effect was that his side stopped playing through midfield and lumped long balls forward to try and use the youngster's pace.
The home side were a threat at set pieces and Barry delivered a wicked inswinging free-kick from the right flank, but it somehow eluded every lunging boot before going on to shave the outside of the post.
Villa's increasingly desperate and ragged attacking efforts were meat and drink to Fulham's central defenders Knight and Ian Pearce who simply stood firm and nodded long balls away.
Aston Villa boss Martin O'Neill:
"We didn't play well and we got what we deserved. We remain unbeaten and that's as much as we could have taken out of it.
"The players know we didn't play well. We should have done better, we were unable to capitalise on anything today. It wasn't the best of games.
"I am very disappointed. We will have to do much much better."
Fulham boss Chris Coleman:
"I was very disappointed with the referee's decision - it was never a penalty. I don't blame Rosenior.
"Collectively it was a good team performance. We didn't play great football but we tried to do something.
"It was never going to be easy but we kept chipping away and tried to play on the counter attack."
Aston Villa: Sorensen, Hughes, Mellberg, Laursen, Ridgewell, Agbonlahor, Davis (Osbourne 83), Petrov, Barry, Angel (Sutton 75), Baros (Agathe 46).
Subs Not Used: Taylor, Bouma.
Goals: Barry 26 pen.
Fulham: Niemi, Rosenior, Knight, Pearce, Queudrue, Brown, Bocanegra, Volz, Claus Jensen, Radzinski, McBride (John 72).
Subs Not Used: Lastuvka, Helguson, Zakuani, Routledge.
Booked: Knight, Queudrue. Goals: Volz 45.
Ref: C Foy (Merseyside).