West Ham's recent Premier League slump continued as they fell to a 3-2 home defeat to Southampton at the London Stadium.
Saints took the lead after only eight minutes when Mohamed Elyounoussi finished from the edge of the penalty area.
Michail Antonio levelled three minutes after coming on at half-time but James Ward-Prowse restored Southampton's superiority from the penalty spot (61) after Craig Dawson had fouled Armando Broja inside the box.
Said Benrahma hooked in a second equaliser for the Hammers (64) but Jan Bednarek rose to glance home from Ward-Prowse's free-kick (70) to establish the advantage for a third time for Southampton which they would not relinquish.
The result means the Hammers have only won one of their last seven league games as they slipped below Tottenham into sixth place - seven points behind fourth-placed Arsenal - while a first win in seven matches for Southampton moves them up to 14th position.
- How the teams lined up | Match stats
- Premier League results | Table
- Get Sky Sports | Live football on Sky Sports
How Hammers' troubles intensified
Southampton were aiming to end a six-game winless streak this weekend while West Ham had also endured mixed form of late - and they fell behind inside eight minutes following a sluggish start.
It was a very well-worked goal for Saints which started at the feet of Fraser Forster at the goal-kick and following a sweeping 15-pass move, Kyle Walker-Peters picked out Elyounoussi to control with his right and finish left-footed low beyond the dive of Lukasz Fabianski.
The Hammers, who entered the Boxing Day programme fifth in the Premier League, had triumphed in only two of their previous nine matches in all competitions, but their response to falling behind will have alarmed David Moyes as it was the visitors who continued to carry the greater threat.
The hosts were toiling as Nikola Vlasic lost the ball too easily in midfield to allow Saints to snap out on the counter as Nathan Redmond's teasing cross narrowly evaded the diving header of Broja at the near post.
Since Ralph Hasenhuttl took over in December 2018, Southampton have lost 73 points from winning positions - 17 more than any other side - but his side nearly doubled their lead when Elyounoussi's slaloming run drew a smart save from Fabianksi.
Forster was doing his best to play up to the role as pantomime villain with his time-wasting antics at restarts, but he was belatedly called into action five minutes before the break.
A sloppy pass from Bednarek was pounced on by Vlasic as he stepped away from Mohammed Salisu to draw a save from the returning veteran goalkeeper, with Walker-Peters reacting quicker than Declan Rice to the loose ball.
There were a few jeers at the interval from the home supporters, and Moyes wasted little time in ringing the changes at the break as Manuel Lanzini and Antonio replaced Pablo Fornals and Vlasic - and the pair instantly combined for Antonio to poke a first-time shot at Forster.
Southampton were punished, however, moments later as Bowen's corner was headed back across goal by Craig Dawson for Antonio to glance home his first Premier League goal in nine games from close range.
Referee Kevin Friend referred to VAR Craig Pawson as a tight offside call was reviewed, but replays showed Bednarek's back foot played the forward fractionally onside.
West Ham had won just one of their previous seven league games on Boxing Day, but they were suddenly in the ascendancy as Declan Rice wriggled away from Oriol Romeu to crack a low shot from range just wide of the post.
Southampton had rarely threatened since the restart, however they were given a route back to restoring their advantage when Dawson's untidy challenge on Broja inside the box was punished upon VAR review.
"I think it was a penalty," Hasenhuttl said afterwards. "It's good that the referee looked back at the VAR. We've seen with Armando's pace that he can cause problems."
Moyes responded: "I thought the initial contact was outside the box and then he was falling inside. We've had a batch of VAR decisions go against us, when you think about the decision for the penalty at Arsenal, a goal against Brighton and the decision not to give a penalty against Burnley. I don't really know what they're going to give."
Ward-Prowse kept his nerve to convert low to Fabianski's right, but Saints' lead was short-lived.
Three minutes later, West Ham were level as Bowen was found in space down the right and when Walker-Peters failed to get tight to the forward, his dinked cross was lashed into the net on the half volley by Benrahma.
Moyes had hoped it would act as the springboard for his side to complete their rescue mission, but when a third goal in the space of nine frantic minutes arrived, it was Southampton who were celebrating taking the lead yet again. Ward-Prowse was this time the provider as his precise free-kick was glanced beyond Fabianski by Bednarek for his second goal of the season.
Benrhama hurried a finish well over the bar before being withdrawn as Moyes turned to Andriy Yarmolenko in the closing stages. Despite six added minutes, West Ham were unable to trouble Forster as they suffered a damaging setback to their Champions League aspirations.
What the managers said
West Ham boss David Moyes: "Overall, we shouldn't be conceding the goals we conceded today. It wasn't good and I didn't like the goals we conceded at Tottenham in midweek either. It's our job to make them better. We've got some really good players there so we need to get them playing at the top of their game.
"I thought there would be really good competition at the start of the season when we had the four centre-halves but we lost a couple through injury. The centre-halves in the opening part of the season were mostly in form up until a month or so ago.
"I thought we were really poor in the first half and we gave the ball away too cheaply and we didn't build any form of momentum or control in the game. I could've changed four of five at half-time. It was a difficult choice but the only reason I didn't change three was if I had to make another change in the second half due to injury.
"I didn't think it was anything like us so I'm hoping it was just an off-day for us, nothing like the West Ham I've seen over the last two years. We've had a few, but today was a poor one. The reaction has to come not in the dressing room. The reaction has to come on the pitch.
"They worked tirelessly to get back and create things in their third but we were a bit of a pushover in our own third so we have to look at addressing that."
Southampton boss Ralph Hasenhuttl: "We have to entertain the whole world on Boxing Day and there were a lot of goals today. We started very well and scored so it was very calm here in the ground for the first 15 minutes.
"We weren't able to keep it that way for the next 75 minutes unfortunately. Every threat they put on the pitch we had the answer. It's normal to drop points in football but it was an important three points.
"It's absolutely fantastic that we can take the win, and we were either going to win or draw. We were never in a position to possibly lose it. Scoring three goals and taking three points against a good side is an important step for this team.
"I was positive even when they brought Antonio on with his physical strength and had set pieces. We were brave and you need to produce a good game to win here. This is the first time in four games I've come here that we've won so it's a big win for us.
Analysis: Saints turning performances into results
Sky Sports' Ben Grounds at the London Stadium:
You could almost feel the sense of cathartic relief in Ralph Hasenhuttl as he raised both arms in the air upon the final sound of Kevin Friend's whistle.
During the final 20 minutes of a thrilling encounter with West Ham, the often-trotted out statistic of points lost from winning positions since he took charge in December 2018 will have crossed his mind.
Especially after witnessing his Southampton side throw away the lead twice already by the time Bednarek met James Ward-Prowse's sublime delivery to re-establish an advantage for the visitors.
But the fact it seemed West Ham subsequently ran out of ideas was in part down to Southampton's refusal to be breached for a third time. Benrahma would be rash with one shot but the hosts were unable to fashion another chance of any substance.
The focus will no doubt be on the ongoing concerns that West Ham are experiencing in their attempts to remain in the Champions League conversation with a run of one win in seven games derailing the progress made in the first half of the season.
But that won't concern Hasenhuttl, who has had to contend with injury problems and Covid cases of his own - Jack Stephens, Nathan Tella and Lyanco were missing due to positive tests. This was only a fourth league win of the season for Southampton, and one which will give hope that results can match performances heading into the new year.
Man of the match: James Ward-Prowse
This was a collective Saints display, with Walker-Peters once more impressing at left-back and Elyounoussi taking his chance further forward but it was the heartbeat of Southampton Ward-Prowse whose second-half contributions ensured his side would not surrender another two late points.
His penalty was never in doubt while the whip on the delivery for Bednarek's winner was impossible to defend.
As the Southampton players departed having celebrated with their supporters in the far corner, it was Ward-Prowse who was serenaded following another combative display.
"He's our captain and he's a very important player in our team," Hasenhuttl said. "He's my hands on the pitch from my side and this is what we need to have. The rest of the team were really disciplined as well."
Ward-Prowse became just the fourth player in Premier League history to have scored 10+ penalties and 10+ direct free kick goals, after Thierry Henry, Cristiano Ronaldo and Ian Harte.
Opta stats
- West Ham suffered their first home defeat against an opponent starting the day in the bottom half of the Premier League table since December 2019 (1-3 v Arsenal), ending a run of 18 games of this type without defeat (W11 D7).
- Southampton picked up their first Premier League win over West Ham since August 2017 (also a 3-2 win), ending a run of eight meetings without beating them in the competition (D2 L6). In fact, they scored more goals today than they had in their previous eight Premier League games combined (2).
- Since winning four consecutive Premier League games between late October and early November, West Ham have only managed to win one of their last seven in the competition (D2 L4).
- Since David Moyes' first league game back in charge of West Ham in January 2020, no club has scored more goals from corner situations than the Hammers in the Premier League (23, level with Liverpool).
What's next?
West Ham travel to face Watford at 3pm on Tuesday, December 28, in the Premier League. Southampton host Tottenham at St Mary's at the same time, 3pm.