Grant Holt claimed his first Villa goal, but the on-loan striker's 70th-minute header wasn't enough to prevent defeat at the hands of bottom-of-the-table Fulham.
Holt, in the starting line-up because of injuries to Christian Benteke and Gabby Agbonlahor, lifted the Holt End with his fine equaliser after Kieran Richardson had fired the Cottagers ahead nine minutes earlier.
But substitute Hugo Rodellaga's glancing header five minutes from the end condemned Paul Lambert's men to a third consecutive setback.
The visitors posed the first threat, Cauley Woodrow meeting a cross from the left with a header which wasn't too far over the bar.
Villa's response was a left-foot Marc Albrighton drive which cannoned off a defender's legs, quickly followed by a menacing Andi Weimann centre which was just too far ahead of Holt.
With both sides needing the points, the opening half hour was littered with errors, although Weimann sent a header only just too high after a fine 27th-minute move which saw Albrighton accept Joe Bennett's pass on the left before switching feet to deliver an inviting cross.
Four minutes later Villa were unlucky not to be ahead.
Albrighton's magnificent 50-yard pass picked out Leandro Bacuna on the right, and although the Dutch midfielder stumbled under Pajtim Kasami's challenge, he quickly recovered to leave the Fulham player in his wake before drilling a low cross-shot which was pushed out by David Stockdale.
But there was a scare on 35 minutes when Bennett's pass to Nathan Baker just inside the Villa half was cut out by Woodrow, who sprinted through the right channel for an angled drive which was palmed away by Brad Guzan.
The Villa keeper was called into action again just before the breaking, competently holding long-range efforts from Lewis Holtby and former Villa midfielder Steve Sidwell, who also earned derision early in the second half for a speculative 35-yarder which was well wide.
In the 49th minute, Bacuna was close again.
Holt cleverly chested down Matt Lowton's lofted pass and Bacuna surged down the right before cutting inside to unleash a fierce angled drive which Stockdale pushed away for a corner.
Bacuna turned creator just before the hour mark, his delightful chip enabling Holt to cut the ball back to Weimann, whose shot was held by Stockdale.
But a couple of minutes later the visitors grabbed the lead.
Ashkan Dejagah, one of two half-time subs, rolled an inviting sideways pass to Richardson, whose swerving left-footer from just outside the penalty area left Guzan helpless.
It was a bitter blow, but Lambert's men were behind for just nine minutes.
The equaliser arrived when Albrighton delivered a corner from the right and Holt found space behind Brede Hangeland to direct his header back inside the near post.
Albrighton then cut inside for a left-footer which was pushed away by Stockdale, although there was a let off for Villa in the 75th minute when a swift counter attack ended with Holtby slipping around Guzan and firing goalwards.
It took a brilliant on-the-line clearance by Lowton to prevent the Londoners from regaining the lead.
Sub Aleksandar Tonev then almost put Villa in front with an angled shot which Stockdale tipped to safety, while Weimann headed just over after some tricky footwork and a fine cross from Albrighton.
But after Guzan had dived bravely at Rodallega's feet, Fulham regained the lead in the 85th minute, the other interval sub meeting a cross from the right with a glancing header into the far corner.
As the home side strove to get back on level terms, Holt sent an angled shot wide, but the damage was done.
Villa: Guzan; Lowton, Vlaar, Baker, Bennett (Tonev 66); Westwood, Bertrand; Albrighton (Bowery 90), Bacuna, Weimann; Holt. Unused subs: Steer, Clark, Luna, Sylla, Robinson.
Fulham: Stockdale; Heitinga, Hangeland, Amorebieta, Richardson; Diarra; Holtby, Riether, Sidwell, Kasami (Dejagah HT); Woodrow Rodallega HT). Unused subs: Stekelenburg; Kvist, Kacaniklic, Roberts.