Manchester United kom från en tung förlust i Champions League där schweiziska Young Boys vände och vann med 2-1. När Ole Gunnar Solskjær presenterade startelvan i bortamötet med West Ham fanns Cristiano Ronaldo med från start.
Hemmalaget kom också från Europaspel där de bortabesegrade Dinamo Zagreb med 2-0. I West Ham, i sin tur, saknades anfallsstjärnan Michail Antonio som är skadad.
När matchen sedan drog igång var det West Ham som skapade mest under de inledande tjugo minuterna. Jarrod Bowen kom till farligt läge från nära håll efter 17 minuter, men en United-försvarare hann precis emellan och blockerade skottet. Kort därefter var samme Bowen återigen nära, men då räddade istället David De Gea i United-målet.
Men efter 30 minuter skulle West Ham få utdelning. Said Benrahma fick en passning precis utanför Uniteds straffområde och drog sedan till på en gång. Skottet styrdes sedan via Raphael Varane och in till 1-0 för hemmalaget.
Men den ledningen skulle inte vara länge. Bara fem minuter senare höll sig Ronaldo framme på ett inlägg från Uniteds vänsterkant och slog till. Lukasz Fabianski räddade det första försöket men lämnade retur, vilken Ronaldo snappade upp och rullade in 1-1.
I inledningen av den andra halvleken var Ronaldo nära på att ge gästerna ledningen. Efter att ha fått en passning i West Hams straffområde hittade han skottläge och drog till. Men Fabianski var med och styrde ut bollen till hörna.
Överlag var det en ganska jämn halvlek, dock. West Ham var nära att göra 2-1 genom Pablo Fornals och United hotade genom sina offensiva alternativ. Med 13 minuter kvar att spela ville Ronaldo ha en straff efter att ha gått ner i West Hams straffområde, men domaren friade till slut.
Det skulle istället dröja till den 89:e minuten innan United avgjorde. Jesse Lingard, som kritiserades efter förlusten mot Young Boys i veckan, dribblade bort Kurt Zouma i West Ham-försvaret innan han sedan dundrade in 2-1 i det bortre krysset.
West Ham skulle sedan få ett drömläge att kvittera när de tilldelades en straff på övertid - men David De Gea räddade Mark Nobles straff i den 95:e (!) minuten.
Lingard, som tillbringade andra halvan av fjolårssäsongen på lån hos West Ham, blev United-hjälte med sin drömträff tillsammans med De Gea. Matchen slutade 2-1 och United tog alla tre poäng.
I och med segern hakar United på Liverpool i toppen av Premier League och landar på andra plats med 13 poäng på fyra matcher. West Ham, i sin tur, för nöja sig med en åttondeplats. Härnäst väntar Aston Villa på hemmaplan i ligan för Manchester United, medan West Ham gästar Leeds på Elland Road.
- Det var sista minuten, jag räddade straffen. Allt som gick genom mitt huvud var "rädda straffen". Det är otroligt stort med tre poäng för oss. Det var en väldigt tuff match och båda lagen hade bra chanser, men ett fantastiskt mål av Jesse, säger straffräddaren David De Gea till engelska Sky Sports efter matchen.
West Ham: Fabianski - Coufal, Zouma, Ogbonna, Cresswell - Bowen, Soucek, Rise, Benrahma, Fornals - Vlasic
Manchester United: De Gea - Wan Bissaka, Maguire, Varane, Shaw - Greenwood, McTominay, Fred, Ferandes, Pogba - Ronaldo