Three late Fulham strikes sent Villa crashing out of the Barclays U21 Premier League Cup.
First team stars Nicklas Helenius, Jordan Bowery and Chris Herd were all given a run-out at Villa Park but they couldn't stop the young claret and blues side exiting the new knockout competition.
A cagey last-32 tie seemed to be heading for extra-time until the Cottagers struck three times in the final seven minutes to take the spoils.
Moussa Dembele twice exploited gaps in the Villa defence to score, before Ange-Freddy Plumain rubber-stamped the away team's progress in stoppage time.
Gordon Cowans fielded a strong attacking line-up which saw Helenius and Bowery lead the line, with Graham Burke, Jordan Graham and Callum Robinson all supporting.
But Villa's forwards struggled to click on the night. Clear-cut opportunities were few and far between, although Bowery and Helenius both came close to scoring in the first period.
In the 23rd minute, Bowery was slipped clear by Janoi Donacien before dragging a left-foot shot wide.
And the former Chesterfield man forced David Stockdale into a routine save soon after.
Villa's best chance arrived three minutes before the break when Callum Robinson scampered inside from the left flank and curled an inviting low cross towards the far post. An outstretched Helenius connected but was unable to turn it home.
Early in the second half, the Denmark international sent a glancing header wide from Bowery's cross.
Fulham went close just before the hour mark when Maumer Tankovic turned away from Josh Webb, only to see his angled drive to deflect inches past the post.
However, just as extra-time seemed on the cards, the visitors made a breakthrough.
Ex-Paris St Germain forward Dembele reacted quickest to a high ball from the back and kept his cool to tuck past Jed Steer.
The 17-year-old repeated the feat on 88 minutes, getting in behind the back four yet again to power in his second.
In between times, Graham was unlucky not to be awarded a penalty after being felled inside the Fulham box. Instead the winger received a yellow card for his troubles.
Plumain struck from close range in stoppage time to seal Fulham's last-16 spot.
VILLA: Steer, Webb, Kinsella, Herd, Donacien, Burke, Graham, Bowery, Helenius, Johnson, Robinson. Subs: Drennan [for Burke, 71], Hill, Bateman [for Herd, HT], Lewis.
FULHAM: Stockdale, Passley, Richards, Minkwitz, Arthurworrey, Grimmer, Na Banga, Christensen, Dembele, Tankovic, Plumain. Subs: Joronen, Della Verde [for Na Banga, 76], Buatu, Sambou [for Tankovic, 86], Islamovic.