The Hammers put their midweek Merseyside mauling firmly behind them with this valiant victory that earned David Moyes’ men the three festive points that sent them leapfrogging over Manchester United in the Premier League table.
 
With a lacklustre first half having ended goalless, the second period was also heading towards a sorry stalemate until top scorer Jarrod Bowen struck for the 13th time this season with just 18 minutes left.
 
And on 78 minutes, former United boss Moyes then saw Mohamed Kudus seal a workmanlike win, when he took his tally into double figures following his £38million summer arrival from Ajax.
 
Responding to Wednesday night’s forlorn 5-1 thrashing in the Carabao Cup quarter-final at Liverpool, the Hammers made four changes for this lunchtime kick-off as skipper Kurt Zouma, Lucas Paquetá, James Ward-Prowse and Emerson returned in place of substitutes Angelo Ogbonna, Pablo Fornals, Saïd Benrahma and Ben Johnson.
 
Bizarrely appearing on the right-hand edge of the Manchester United penalty area, it was left-back Emerson who forced the first save of the afternoon with a powerful, early 15-yarder that André Onana beat away to safety and, shortly afterwards, Ward-Prowse skied high over before Bowen disappointingly dragged wide, too.
 
Coincidentally, United had also played at Anfield last time out, albeit Erik ten Hag’s side had fared far better than West Ham, sharing a goalless draw that saw them kick off in seventh spot, two places and one point above Moyes boys.
 
The Dutchman made a trio of changes as 19-year-old French youth international Willy Kambwala was handed a debut in central defence, while Aaron Wan-Bissaka and skipper Bruno Fernandes also came in for Raphaël Varane (ill), Diogo Dalot (suspended) and substitute Sofyan Amrabat, who had last faced the triumphant Hammers in Prague in June, where he was a runner-up in the UEFA Europa Conference League final with Fiorentina.
 
During the opening exchanges, though, those contrasting fortunes on Merseyside counted for nothing and, indeed, it was West Ham who looked the most assured of the two teams with the ever-pressing Vladimír Coufal and Kudus stretching the visiting defence down the right-hand flank and Onana appearing a hesitant, jittery figure behind his back four.
 
At the other end, despite having conceded five goals just three days earlier, Alphonse Areola comfortably fielded efforts from Luke Shaw and Antony before denying the breaking Alejandro Garnacho with an outstretched right leg after the Argentinian had ghosted behind the home defence.
 
Seven minutes before the break, the sliding Paquetá recovered to send Garnacho’s shot looping onto the roof of Areola’s net and, when the consequent corner was only half-cleared, Kobbie Mainoo sent an 18-yarder back through the pack leaving the relieved, unsighted French keeper to scramble an awkward low effort aside.
 
With United now gaining a firmer foothold going into the final stages of the opening period, Kudus was booked for tugging back Shaw, while pedantic referee Simon Hooper was adding to the frustration of a partisan London Stadium crowd with a series of curious calls.
 
Moments before the break, though, the official evened things up by cautioning Jonny Evans for illegally blocking the escaping Kudus but with Tomáš Souček heading Ward-Prowse’s deep touchline free-kick wide of the far post, the first half was destined to end blank. 
 
Just after the restart, Fernandes headed over before also finding himself yellow-carded for halting another Kudus break.
 
With the hour mark approaching, Ward-Prowse’s deep corner was met by Bowen, who outmuscled Antony only to see Onana tip his stooping 12-yard header over the crossbar and having seen the Hammers go so close to breaking the deadlock, ten Hag immediately summoned Marcus Rashford from the bench as the anonymous Rasmus Højlund retired.
 
A last-gasp goal-line interception by Zouma denied Garnacho a simple tap-in from Shaw’s tantalising low cross into the six-yard box and that would prove to be a crucial turning point for West Ham.
 
Indeed, on 72 minutes, Bowen collected 30 yards from goal before cleverly finding Paquetá on the right-hand touchline and, anticipating an almost certain return from the Brazilian playmaker, the Hammers No.20 darted into the area, where the ball duly arrived at his feet.
 
By now, only Onana stood between Bowen and that 13th goal of the season and, although the helplessly exposed United keeper tried to close down the angle he was powerless to stop Bowen squeezing the ball through his clutches.
 
That opening goal had certainly been a long time coming and with London Stadium finally erupting into a Christmas cacophony of sound, the cheers were still subsiding, when West Ham doubled their lead just six minutes later.
 
Collecting a routine square pass from Evans, Mainoo carelessly mis-controlled, allowing the pouncing Paquetá to send Kudus racing forward. 
 
With the retreating rearguard desperately trying to recover from that unforced error, neither Evans nor Mainoo nor Kambwala could prevent Kudus from expertly driving a precise, low 18-yarder beyond the outstretched right glove of Onana and into the bottom left corner.
 
The Ghanaian’s 10th goal for the Hammers since arriving from the Eredivisie sent the decibel levels rising around the East End once more.
 
Signing-off at Stratford for what has been an epic 2023, the happy, harmonious Hammers supporters chanted "Champions of Europe, we know what we are!” as their team departed to a standing ovation and those three points that sent them over the well-beaten visitors in the table. 
 
West Ham United: Areola, Coufal, Emerson, Mavropanos, Zouma, Álvarez, Ward-Prowse, Souček, Paquetá, Kudus (Johnson 90+3), Bowen (Fornals 87). Unused subs: Fabiański, Cresswell, Ings, Ogbonna, Benrahma, Kehrer, Mubama.
 
Man United: Onana, Wan-Bissaka, Shaw, Evans, Kambwala (Reguilón 84), McTominay, Mainoo, Fernandes, Antony (Pellistri 78), Garnacho (Eriksen 84), Højlund (Rashford 57). Unused subs: Bayindir, Amrabat, van de Beek, Mejbri, Bennett.
 
Booked: Kudus (42), Evans (45+2), Fernandes (50), Paquetá (74), Shaw (90+6).
 
Referee: Simon Hooper.