Southampton gave their travelling supporters a late Christmas present, edging a five-goal thriller 3-2 against West Ham on Boxing Day.
In a game of two halves, goalmouth action was at a premium before the break but things burst into life in the second period with the east London crowd treated to four goals.
The visitors came flying out of the blocks and took the lead inside eight minutes. Mohamed Elyounoussi was the scorer, finishing precisely from just outside the box.
After this lightning start, both sides struggled to carve out opportunities in what was a quiet first half. West Ham looked particularly flat with their only half-chance before the break falling to Nikola Vlasic, who weaved past several defenders before placing a tame effort well within the grasp of Fraser Forster.
Whatever David Moyes said at half-time clearly had the desired effect as just three minutes after the interval, the hosts drew level when substitute Michail Antonio pounced to nod home Craig Dawson's header.
Seconds later, the visitors were handed a chance to retake the lead when Craig Dawson hauled Armando Broja down in the box. James Ward-Prowse made no mistake from the spot, tucking the ball past Lukasz Fabianski.
The drama continued soon after with the Hammers levelling things up for a second time when Said Benrahma ghosted in front of his marker to power home Jarrod Bowen's cross.
However, with 20 minutes left, Jan Bednarek put Saints back in front, flicking Ward-Prowse's free kick into the far corner. This set up a tense finale but in the end the visitors held on for a much-needed three points.
Here are your player ratings from the London Stadium...
West Ham player ratings
1. Goalkeeper & defenders
Lukasz Fabianski (GK) - 4/10 - Maybe could have done better for the opener. Saints' other two goals were hard to prevent.
Vladimir Coufal (RB) - 4/10 - A couple of shaky moments defensively. His delivery was seriously lacking too.
Craig Dawson (CB) - 4/10 - His aerial presence was noticeable and he set up Antonio. Clumsily brought down Broja in the box.
Issa Diop (CB) - 4/10 - Not the most accurate passer and part of a defence that conceded three.
Arthur Masuaku (LB) - 5/10 - Not capable of progressing his side up the pitch like Aaron Cresswell is. The Hammers are badly missing their first-choice right-back.
Tomas Soucek (CM) - 5/10 - The game passed him by at times. Needs a rest most likely.
Declan Rice (CM) - 5/10 - Picked up a yellow card which rules him out of his side's other festive fixture against Watford. Did not manage to dictate the play as he normally does.
Pablo Fornals (AM) - 4/10 - Struggled to impact the game before being dragged at half time.
Nikola Vlasic (RW) - 5/10 - Some bright moments in the first half when his teammates were struggling. A good rotational option.
Jarrod Bowen (ST) - 6/10 - Struggled to get into the game in a lone-striker role in the first half. Antonio's introduction let him off the leash and he soon got an assist.
Said Benrahma (LW) - 6/10 - Some way off his best early on. Again, Antonio's arrival was helpful and he took his goal well.
Michail Antonio (ST) - 8/10 - Bringing him on a half-time changed the game. Everything went through him.
Manuel Lanzini (AM) - 7/10 - Got on the ball far more than Fornals did in the first half.
Andriy Yarmolenko (LW) - N/A
Southampton player ratings
5. Goalkeeper & defenders
Fraser Forster (GK) - 4/10 - Looked rather shaky throughout in all honesty.
Tino Livramento (RB) - 6/10 - Outshone by his teammate on the opposite defensive flank. Still pretty solid.
Jan Bednarek (CB) - 7/10 - Pretty stoic at the back, including one goal-line clearance. Rose high to flick home the winner.
Mohammed Salisu (CB) - 7/10 - Some great one-on-one defending. He did not give Bowen an inch before the break. Antonio was harder to contain, though.
Kyle Walker-Peters (LB) - 7/10 - Pushed up high and centrally which often caused West Ham problems.
Mohamed Elyounoussi (RM) - 7/10 - Reminded us of his talent with a well-taken goal early on. Bright for the remainder of the first half before he badly faded.
James Ward-Prowse (CM) - 7/10 - Some excellent long passes and got a trademark free-kick assist.
Oriel Romeu (CM) - 6/10 - Stifled Bowen's ability to drop into midfield with some physical marking. Guilty of a few silly fouls.
Nathan Redmond (LM) - 6/10 - Swung in some terrific crosses with both feet. Influence waned after the break.
Theo Walcott (ST) - 4/10 - Poor. Wasteful in possession but worked hard.
Armando Broja (ST) - 6/10 - Full of direct running, which eventually won his side a penalty. Way ahead of Adam Armstrong in the pecking order at this point.
Che Adams (ST) - N/A
Stuart Armstrong (LM) - N/A
Ibrahima Diallo (CM) - N/A
For more from Matt O’Connor-Simpson, follow him on Twitter!