West Ham scored twice in six minutes to condemn Manchester United to an eighth Premier League defeat of the season at the London Stadium.
It took 72 minutes of a drab encounter for West Ham to find the opener when Lucas Paqueta lifted the ball into Jarrod Bowen's path and the Hammers' top scorer this season bundled past Andre Onana.
Mohammed Kudus, who has scored in his last three home games for West Ham, latched onto Kobbie Mainoo's defensive error to drill into the bottom corner and double the home side's lead.
Manchester United have won just one match out of their last five in the top flight and Erik ten Hag's side have lost more games than they have won this season across all competitions.
As a result West Ham leapfrog them into sixth place in the table as United drop to eighth.
Manchester United host unexpected title-challengers Aston Villa on Boxing Day while West Ham travel to Arsenal on Thursday 28 December.
More to follow.
Reaction to West Ham v Man Utd, plus Saturday's other Premier League actionHow to play
Rate players out of 10 throughout or after the game. The rater will close 30 minutes after the final whistle.
Rating range key1 = Give it up10 = Pure perfection
West Ham United
Squad number23Player nameAreola
Squad number5Player nameCoufal
Squad number15Player nameMavropanos
Squad number4Player nameZouma
Squad number33Player nameEmerson
Squad number19Player nameÁlvarez
Squad number28Player nameSoucek
Squad number14Player nameKudus
Squad number7Player nameWard-Prowse
Squad number10Player nameLucas Paquetá
Squad number20Player nameBowen
Squad number2Player nameJohnson
Squad number8Player nameFornals
Manchester United
Squad number24Player nameOnana
Squad number29Player nameWan-Bissaka
Squad number53Player nameKambwala
Squad number35Player nameEvans
Squad number23Player nameShaw
Squad number39Player nameMcTominay
Squad number37Player nameMainoo
Squad number21Player nameAntony
Squad number8Player nameBruno Fernandes
Squad number17Player nameGarnacho
Squad number11Player nameHøjlund
Squad number10Player nameRashford
Squad number14Player nameEriksen
Squad number15Player nameReguilón
Squad number28Player namePellistri
Line-ups
West Ham
Formation 4-2-3-1
23Areola5Coufal15Mavropanos4Zouma33Emerson19Álvarez28Soucek14KudusBooked at 43minsSubstituted forJohnsonat 90+4'minutes7Ward-Prowse10Lucas PaquetáBooked at 74mins20BowenSubstituted forFornalsat 88'minutesSubstitutes
1Fabianski2Johnson3Cresswell8Fornals18Ings21Ogbonna22Benrahma24Kehrer45MubamaMan Utd
Formation 4-2-3-1
24Onana29Wan-Bissaka53KambwalaSubstituted forReguilónat 84'minutes35EvansBooked at 45mins23ShawBooked at 90mins39McTominay37Mainoo21AntonySubstituted forPellistriat 73'minutes8Bruno FernandesBooked at 51mins17GarnachoSubstituted forEriksenat 85'minutes11HøjlundSubstituted forRashfordat 57'minutesSubstitutes
1Bayindir4S Amrabat10Rashford14Eriksen15Reguilón28Pellistri34van de Beek46Mejbri66BennettLive Text
Match ends, West Ham United 2, Manchester United 0.
Second Half ends, West Ham United 2, Manchester United 0.
Luke Shaw (Manchester United) is shown the yellow card for a bad foul.
Foul by Bruno Fernandes (Manchester United).
Tomás Soucek (West Ham United) wins a free kick on the right wing.
Foul by Pablo Fornals (West Ham United).
Aaron Wan-Bissaka (Manchester United) wins a free kick in the attacking half.
Hand ball by Lucas Paquetá (West Ham United).
Substitution, West Ham United. Ben Johnson replaces Mohammed Kudus.
Foul by Kobbie Mainoo (Manchester United).
Tomás Soucek (West Ham United) wins a free kick in the attacking half.
Offside, Manchester United. Sergio Reguilón is caught offside.
Attempt blocked. Facundo Pellistri (Manchester United) right footed shot from the centre of the box is blocked.
Attempt missed. Scott McTominay (Manchester United) right footed shot from the centre of the box is close, but misses to the right.
Foul by Facundo Pellistri (Manchester United).
Emerson (West Ham United) wins a free kick on the left wing.
Foul by Luke Shaw (Manchester United).
Lucas Paquetá (West Ham United) wins a free kick on the left wing.
Substitution, West Ham United. Pablo Fornals replaces Jarrod Bowen.
Substitution, Manchester United. Christian Eriksen replaces Alejandro Garnacho.