The Hammers defeated London rivals Tottenham last weekend and reached the quarter-finals of the Carabao Cup with a penalty shoot-out victory against holders Manchester City, before putting 10-man Villa to the sword.
Villa boss Dean Smith will feel everything that could go wrong did go wrong as his team slipped to a fourth successive Premier League defeat.
Long-range strikes from Ben Johnson and Declan Rice saw Moyes’ men head into half-time in front, after Ollie Watkins had equalised for the hosts.
Ezri Konsa’s red card shortly after the break gave Villa an uphill task and further goals from Pablo Fornals and Jarrod Bowen inside the final 10 minutes settled the contest.
Leon Bailey was handed his first Premier League start as Smith made four changes, with Jacob Ramsey, Kortney Hause and Marvelous Nakamba also coming in.
On the cusp of making his 100th Premier League appearance, Tyrone Mings was the highest-profile casualty of Villa’s change of shape following three successive defeats, reverting to a 4-3-3 with Hause partnering Konsa at the heart of the defence.
West Ham boss Moyes named the same team that started the win against Tottenham, meaning there were eight changes from the side that defeated City in the cup on Wednesday night.
The change of shape saw Villa make a nervy start and Said Benrahma had already had a sight of goal before West Ham went ahead with just seven minutes on the clock.
Rice sprayed a pass out to the right flank for Johnson, who was in all sorts of space and cut inside on to his left foot before curling a low shot into the far corner of the net.
Villa were dealt another setback when Ramsey hobbled off injured just a quarter of an hour in, although the resulting free-kick brought the hosts’ first chance as Bailey watched a cross all the way onto his foot at the far post before volleying into the midriff of Lukasz Fabianski.
Some superb defending from Matty Cash denied West Ham a second goal as he twice blocked driven efforts by Bowen, bravely heading clear the second attempt from just in front of his goal line, before Watkins levelled things up in the 34th minute.
John McGinn and Emiliano Buendia combined down the right, with Buendia turning Fornals to get to the byline inside the penalty area where his low cross was steered home by Watkins from around the penalty spot.
Villa’s delight was short-lived, however, as Rice restored the visitors’ lead with a 25-yard shot that bobbled its way into the back of the net via a touch off the post just four minutes later.
Things got worse for Villa at the start of the second half with Konsa’s red card. A mess defensively for Dean Smith’s side, Hause caught Fornals in the face on the run before Konsa was then booked for knocking Bowen to the ground right on the edge of the box.
VAR took a look at both incidents and decided that Hause had no case to answer, while Konsa saw his yellow card upgraded to red after referee Chris Kavanagh had been to look at the monitor.
Mings was introduced for his milestone appearance, with Buendia sacrificed.
Against the odds, Villa were almost level again just before the hour when Watkins’ shot brushed the fingertips of Fabianski and crashed against the crossbar.
That was Villa’s big chance to get something from the game and Martinez made a couple of fine saves either side of the midway point of the second half, pushing away a Rice free-kick and a shot from Bowen on the angle.
Villa were still in the match entering the final 10 minutes but the Hammers gave themselves some breathing space when Fornals tapped in the rebound from close range after Martinez had done well to save Bowen’s initial shot.
Bowen added a fourth goal after 84 minutes with another simple finish after being unselfishly set up by substitute Manuel Lanzini.