A late Zavon Hines strike saw off ten man Villa at Upton Park and gave West Ham their first home win in the league this season.
The Hammers took the lead late in the first half from the penalty spot after Habib Beye was penalised by referee Steve Bennett for a foul on Hines.
Mark Noble slotted away the resulting 12 yard tester after Beye saw yellow but Villa were to have their own spot kick chance soon after half time.
Unlike Noble, though, Ashley Young fluffed his lines and Rob Green was on hand to save the home side.
Young then redeemed himself straight away as he curled what looked like a cross past the helpless Green into the net.
Beye was then dismissed for a challenge on Jonathan Spector and Villa couldn't hold out as Hines won the game as he managed to escape the attentions of three defenders and beat Brad Friedel.