Match ends, Manchester United 1, West Ham United 0.
Marcus Rashford scored the winner with virtually the last kick of the game as Manchester United leapfrogged West Ham into the Premier League's top four.
It seemed certain to be another frustrating afternoon for the hosts, who were stifled by the Hammers' organisation and otherwise came no closer than Fred's second-half effort that was saved by Alphonse Areola.
But with less than 30 seconds of the three minutes of injury time remaining, United broke and in a move that involved all three substitutes, Edinson Cavani held his run to remain onside as he collected Anthony Martial's short pass before rolling a cross to the far post, where it was converted by Rashford.
The result was harsh on the Hammers. In a game of few chances, Jarrod Bowen drove a shot into the side-netting before Tomas Soucek's glancing header bounced just wide of the far post with four minutes remaining.
But Rashford had the final word as United secured back-to-back wins for the first time under Ralf Rangnick.
The result takes United into the top four for the first time in three months, with the Hammers dropping down to fifth, although Tottenham and Arsenal could overtake them if they win their games on Sunday.
United's season stabilised
Such has been the difficulty of United's season, entering the rare January international break on the back of one defeat in 13 games since Ole Gunnar Solskjaer's dismissal on 21 November has to be seen as relative success.
There are still numerous problems for Rangnick to address, most immediately the futures of Martial, who was greeted with boos and cheers as he was introduced for the first time since Rangnick's arrival amid interest from Sevilla and his well-publicised desire to leave, and Jesse Lingard before the transfer window closes on 31 January.
A season spiralling out of control has been stabilised to an extent but this latest effort was unconvincing and another of those days when Cristiano Ronaldo failed to live up to his superstar billing.
The neck injury Rangnick revealed Ronaldo was suffering from in the build-up to the game eased sufficiently to allow the 36-year-old to start but there was little in his performance to suggest he was happy with his situation.
An elaborate tee-up to a 25-yard free-kick only produced a shot straight into the wall and then he moaned at Mason Greenwood for not crossing the rebound into an area he had ventured into rather than shooting, which is what the youngster did.
Passes went astray too frequently and a penalty claim was waved away by referee Jon Moss.
Ronaldo was still shaking his head minutes later but TV replays showed Kurt Zouma made little meaningful contact with the United forward, certainly not enough to send him flying in the box.
There was more elaborate complaining after half-time when he was penalised for a high kick on Craig Dawson, whose head, Ronaldo felt, was too low.
Rangnick stuck with the veteran though. And, with the rest of his team-mates, he was celebrating at the final whistle.
Rice unrewarded
Of England's Euro 2020 heroes from last summer, none has kicked on in their club careers the way Declan Rice has.
West Ham fans will hate it and, as Moyes points out, the 23-year-old has a contract that runs to 2024. But Rice is hot property.
When he strode from the tunnel first before kick-off, it was impossible not to think he might be doing that walk on a more regular basis in future.
His screening of the Hammers' defence was immaculate and the way he nipped in to dispossess Ronaldo, before racing away from his opponent as he tried to win the ball back, had a touch of impudence and authority in equal measure.
As Moyes' awful personal run of away games without a win at 'big six' teams extends to 45, Rice will know many of those clubs would take him right now.
Even with a European campaign to look forward to in the second half of the season, West Ham know keeping their skipper will be the biggest task of the summer.
Manchester United's next game is in the FA Cup, against Middlesbrough at Old Trafford, on Friday, 4 February (20:00 GMT). West Ham are in FA Cup action the following day, at non-league Kidderminster (12:30 GMT).
- Reaction to Manchester United v West Ham United, plus the rest of Saturday's Premier League action
- Go straight to the best Manchester United content
- Visit our West Ham page
Player of the match
BowenJarrod Bowen
Manchester United
Avg
- Squad number21Player nameCavaniAverage rating
6.71
- Squad number10Player nameRashfordAverage rating
6.49
- Squad number5Player nameMaguireAverage rating
6.23
- Squad number1Player namede GeaAverage rating
6.19
- Squad number36Player nameElangaAverage rating
5.97
- Squad number19Player nameVaraneAverage rating
5.95
- Squad number18Player nameBruno FernandesAverage rating
5.84
- Squad number39Player nameMcTominayAverage rating
5.83
- Squad number20Player nameDiogo DalotAverage rating
5.74
- Squad number7Player nameCristiano RonaldoAverage rating
5.73
- Squad number11Player nameGreenwoodAverage rating
5.59
- Squad number27Player nameAlex TellesAverage rating
5.58
- Squad number17Player nameFredAverage rating
5.48
- Squad number9Player nameMartialAverage rating
5.34
West Ham United
Avg
- Squad number20Player nameBowenAverage rating
6.93
- Squad number41Player nameRiceAverage rating
6.92
- Squad number4Player nameZoumaAverage rating
6.43
- Squad number28Player nameSoucekAverage rating
6.37
- Squad number9Player nameAntonioAverage rating
6.34
- Squad number3Player nameCresswellAverage rating
6.33
- Squad number10Player nameLanziniAverage rating
6.33
- Squad number13Player nameAreolaAverage rating
6.26
- Squad number15Player nameDawsonAverage rating
6.25
- Squad number8Player nameFornalsAverage rating
6.25
- Squad number5Player nameCoufalAverage rating
6.18
- Squad number24Player nameFredericksAverage rating
5.92
Line-ups
Man Utd
Formation 4-2-3-1
- 1de Gea
- 20Dalot
- 19Varane
- 5MaguireBooked at 56mins
- 27Alex Telles
- 39McTominay
- 17FredSubstituted forCavaniat 82'minutes
- 11GreenwoodSubstituted forMartialat 82'minutes
- 18Bruno Fernandes
- 36ElangaSubstituted forRashfordat 62'minutes
- 7Cristiano Ronaldo
Substitutes
- 4Jones
- 8Mata
- 9Martial
- 10Rashford
- 14Lingard
- 21Cavani
- 26Henderson
- 31Matic
- 34van de Beek
West Ham
Formation 4-2-3-1
- 13Areola
- 5CoufalSubstituted forFredericksat 70'minutes
- 15Dawson
- 4Zouma
- 3Cresswell
- 28Soucek
- 41RiceBooked at 63mins
- 20Bowen
- 10Lanzini
- 8Fornals
- 9Antonio
Substitutes
- 7Yarmolenko
- 11Vlasic
- 16Noble
- 23Diop
- 24Fredericks
- 26Masuaku
- 31Johnson
- 33Král
- 35Randolph
- Referee:
- Jonathan Moss
- Attendance:
- 73,130
Match Stats
- Possession
- Home57%
- Away43%
- Shots
- Home18
- Away6
- Shots on Target
- Home3
- Away1
- Corners
- Home3
- Away3
- Fouls
- Home9
- Away8
Live Text
Post update
Full Time
Second Half ends, Manchester United 1, West Ham United 0.
Post update
VAR Decision: Goal Manchester United - Manchester United 1-0 West Ham United (Marcus Rashford).
Goal!
Goal! Manchester United 1, West Ham United 0. Marcus Rashford (Manchester United) right footed shot from very close range to the bottom right corner. Assisted by Edinson Cavani.Goal confirmed following VAR Review.
Post update
Attempt missed. Anthony Martial (Manchester United) left footed shot from the centre of the box is close, but misses to the left. Assisted by Bruno Fernandes.
Post update
Corner, West Ham United. Conceded by David de Gea.
Post update
Attempt saved. Cristiano Ronaldo (Manchester United) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by Bruno Fernandes.
Post update
Foul by Scott McTominay (Manchester United).
Post update
Declan Rice (West Ham United) wins a free kick in the defensive half.
Post update
Attempt missed. Tomas Soucek (West Ham United) header from the right side of the six yard box is close, but misses to the left. Assisted by Jarrod Bowen with a cross following a corner.
Post update
Corner, West Ham United. Conceded by Bruno Fernandes.
Post update
Scott McTominay (Manchester United) wins a free kick in the defensive half.
Post update
Foul by Tomas Soucek (West Ham United).
Post update
Attempt missed. Diogo Dalot (Manchester United) right footed shot from outside the box is too high. Assisted by Scott McTominay.
Substitution
Substitution, Manchester United. Anthony Martial replaces Mason Greenwood.
Substitution
Substitution, Manchester United. Edinson Cavani replaces Fred.
Post update
Raphaël Varane (Manchester United) wins a free kick in the defensive half.
Post update
Foul by Michail Antonio (West Ham United).
Post update
Attempt missed. Bruno Fernandes (Manchester United) left footed shot from the centre of the box is too high.
Post update
Attempt saved. Michail Antonio (West Ham United) right footed shot from the centre of the box is saved in the centre of the goal.
- Our coverage of your Premier League club is bigger and better than ever before - here's everything you need to know to make sure you never miss a moment
Comments
Join the conversation
Shocking
Lost for words.
As always: 'Up the Hammers!'
fergie must've been in the VAR room
Clear and obvious OFF SIDE
Surprise, surprise.
A murder scene investigation type of thing.
Never mind.
Lolz
Utd win and liverpool fans rage
Cheers :)
CGI Experts. Hold our beer.