Charles N'Zogbia's third goal of the season raised hopes of another Villa victory in the bid for Barclays Premier League survival - only for a Fabian Delph own goal to deny Paul Lambert's side two valuable points.
N'Zogbia, deputising for the injured Gabby Agbonlahor, was on target with a classic 55th-minute effort, the France midfielder curling the ball into the far corner with considerable panache.
Unfortunately, though, the lead lasted just 10 minutes before a Bryan Ruiz corner flicked off Delph's head and past keeper Brad Guzan to earn the visitors a draw.
Ultimately, the outcome was a fair result, although Villa will be frustrated that they didn't make more of their first half dominance, when N'Zogbia had a volley brilliantly saved by Mark Schwarzer.
The home made a forceful start, knocking the ball around with confidence, although there was little by way of clear-cut chances in the opening 20 minutes.
The best of the openings saw Delph have a powerful shot charged down outside the penalty area, while Ashley Westwood's fine pass set up Joe Bennett for a low left-wing cross which Brede Hangleland sent looping into the air with an awkward clearance.
Unfortunately Schwarzer was able to collect before Villa could capitalise on a promising situation.
Then N'Zogbia's low centre was well held by the keeper and it was the 22nd minute before Fulham - who had lost Damien Duff to a 10th minute injury - posed their first genuine threat.
Sascha Riether's menacing centre from the right threatened to pose problems but Ron Vlaar managed to clear at the expense of a corner.
The home side immediately responded with a sustained spell of pressure which culminated with Christian Benteke volleying over following an Andi Weimann cross - and the Austrian almost cashed in on Fulham's hesitation at the back when he closed down Schwarzer, forcing the keeper to kick clear from the six yard box.
Villa were now stepping up the tempo and were unlucky not to score in the 31st minute.
Cutting in from the left, Benteke cleverly chipped the ball towards the near post, and N'Zogbia's eight-yard volley was brilliantly tipped behind by Schwarzer.
Matt Lowton ventured forward in the next attack and when home supporters yelled "Shoot!" he was only too happy to try his luck from 25 yards, his low shot skidding just beyond the right-hand post.
The Londoners had hardly been in the game as an attacking force but in the closing minutes of the first half Dimitar Berbatov had a shot deflected for a corner by Nathan Baker and then fired wide from a good position.
Even so, Villa finished the opening period on a high, Benteke making a strong run through the middle before unleashing a tremendous rising drive which Schwarzer tipped over the bar.
Villa could have been ahead within 20 seconds of the resumption, Weimann's low, angled shot being tipped away by Schwarzer and infuriatingly just behind Jordan Bowery, who was well positioned at the far post.
Westwood then had a shot deflected for a corner before the Cottagers had arguably the best chance so far, Berbatov rolling his shot against the outside of the post following a superb pass from Ruiz.
There was another scare when a shot from Giorgis Karagounis deflected off Vlaar's legs and had Brad Guzan scrambling across his line as the ball dropped just beyond the far post.
But Lambert's men finally went ahead with a well-taken goal.
A slick four-man move ended with Weimann firing across the goalmouth, and although Hangleland cleared, N'Zogbia quickly controlled the rebound and curled a delightful shot into the far corner.
That prompted the visitors to adopt a more adventurous approach and after Berbatov's drive had deflected over off Bennett, they were level on 65 minutes.
Delph was at the near post as Ruiz delivered a corner from the right but the ball flicked off the top of his head and inside the far post as Westwood desperately attempted to clear.
Poor Delph's troubles were compounded a few minutes later when he fired high into the Holte End when well positioned to meet Weimann's low centre.
Villa: Guzan; Lowton, Vlaar, Baker, Bennett; Westwood, Delph; Bowery (Holman 69), N'Zogbia (Sylla 68), Weimann (Bent 76); Benteke. Unused subs: Given, Clark, El Ahmadi, Dawkins.
Fulham: Schwarzer; Riether, Senderos, Hangeland, Richardson (Riise 90); Karagounis (Petric 63), Ehoh, Emanuelson, Duff (Manolev 10); Ruiz; Berbatov. Unused subs: Etheridge, Frimpong, Hughes, Rodallega.