At a glance
Mateus Fernandes puts West Ham ahead after 29 seconds – the fastest Premier League goal of the season
Konstantinos Mavropanos diverts John McGinn cross into own net to draw Villa level
Jarrod Bowen restores Hammers' lead before Morgan Rogers scores twice to turn game around
Villa remain third, three points behind Arsenal, with West Ham third from bottom
Morgan Rogers scored two second-half goals as Aston Villa twice came from behind to beat West Ham and extend their winning run in all competitions to nine matches.
The England midfielder, who had made it 2-2 five minutes in the second half, hammered an unstoppable shot into the top corner with 11 minutes left to put the visitors ahead for the first time in a topsy-turvy encounter.
Struggling West Ham, who were searching for their first victory since 8 November, were gifted an opener after just 29 seconds when Mateus Fernandes dispossessed Ezri Konsa on the edge of the penalty area before beating Marco Bizot with a powerful drive into the top corner from a tight angle.
Konstantinos Mavropanos inadvertently headed John McGinn's inswinging cross into his own net, while under pressure from Ollie Watkins, to draw Villa level in the ninth minute.
But Nuno Espirito Santo's side restored their advantage when Jarrod Bowen diverted Freddie Potts' volley past Bizot to give the Hammers a 2-1 half-time lead.
Unai Emery's team managed only one shot before the interval, but they restored parity for the second time when Rogers found the bottom corner after West Ham had failed to clear Youri Tielemans' low cross.
Bowen then had a low, left-footed strike disallowed for offside, before Rogers struck again superbly to move third-placed Villa to within three points of Premier League leaders Arsenal.
West Ham, meanwhile, are now three points adrift of safety after Leeds United and Nottingham Forest both picked up points on Sunday.
Aston Villa analysis: Visitors recover from slow start
Unai praises Villa's character to come from behind
In-form Villa had won 14 of their past 16 games in all competitions before Sunday's trip to the capital, but Emery's side lacked inspiration in a jaded first-half performance at London Stadium.
Despite quickly cancelling out Fernandes' early opener and enjoying the lion's share of possession, the visitors failed to register an attempt at goal until the 45th minute, when Rogers sent a curling shot narrowly over the angle between post and bar.
However, when the ball fell to him again five minutes after the restart, the 23-year-old's aim was true as he steered a calm finish into the bottom corner to swing the pendulum back in Villa's direction at 2-2.
The rest of the second half was a more open, end-to-end affair as both teams went in search of a third goal, and Villa were fortunate not to fall behind again when Bowen mistimed his run from Lucas Paqueta's pass.
It was going to take something special for the visitors to extend their remarkable winning run - and Rogers provided it with an outstanding finish which lifts him to five league goals this season, more than any of his team-mates.
Emery's side face Manchester United, Chelsea and leaders Arsenal before the end of 2025, but they head into that tricky run of fixtures brimming with confidence.
West Ham analysis: Defensive frailties prove costly again
Nuno reflects on a disappointing loss against in form Villa
London Stadium was awash with emotion in the build-up to this game as West Ham fans paid tribute to club legend Billy Bonds, who passed away aged 79 at the end of November.
An enormous banner of Bonds lifting the FA Cup - which he won twice as a West Ham player - appeared in the stand bearing his name as the two teams made their way on to the pitch. Former team-mates Trevor Brooking and Alvin Martin - accompanied by Bonds' two daughters - also laid a floral tribute inside the centre circle before kick-off.
The home fans had already celebrated the opening goal by the time they rose to their feet for their now customary fourth-minute round of applause in Bonds' honour - but the mood changed at full-time following a bitter defeat.
Bowen, West Ham's greatest threat, became only the second player to reach 100 Premier League goal involvements for the club after Michail Antonio.
But his side's defensive frailties came back to haunt them as they conceded more than one goal in a top-flight home game for a seventh time this season.
Their only clean sheet of the campaign so far came in a 3-0 victory at Forest, who pulled five points clear of the Hammers in the table with a comfortable win over Tottenham at the City Ground.
Things may be about to get worse for West Ham, who travel to in-form Manchester City next weekend.
What's next for these teams?
West Ham travel to Manchester City on Saturday, 20 December (15:00 GMT), while Aston Villa welcome Manchester United to Villa Park the following day (16:30 GMT).
Player of the match
After the opportunity to rate players has closed, the score displayed represents the average from all the submissions by BBC Sport users.