Villa slipped to only their second defeat of the Barclays U18 Premier League campaign against an in-form West Ham side.
Jerell Sellars gave Tony McAndrew's team the lead with a 16th-minute penalty after a foul by Hammers defender Reece Burke.
But 17-year-old trialist Jaanai Gordon equalised for the home side within a minute.
Gordon bagged another just before the break, before Kieran Bywater sealed the win for West Ham, who are now seven matches unbeaten.
Villa are at home to Norwich at Bodymoor Heath on Saturday.
VILLA: Grant, Zazrivec, Wildin, Cowans, Lyons-Foster, Toner, O'Brien, R Strain, Sellars, Abdo, Calder. Subs: Taylor [for O'Brien, 77], Forth, McKirdy [for Zazrivec, 59], Lewis [for Cowans, 77], O'Hare.