Marcus Rashford's 100th Manchester United goal gave the Red Devils a hard-fought 1-0 Premier League win over West Ham on Sunday.

United handed Cristiano Ronaldo and Harry Maguire rare league starts, but Rashford snatched the headlines in bringing up his milestone with a fine 38th-minute header.

West Ham looked uninspired for long periods before finding David De Gea in strong form when they exerted some pressure late on, with the United goalkeeper making three crucial saves.

The victory lifts Erik ten Hag's team above Chelsea into fifth in the Premier League table, one point below fourth-placed Newcastle United with a game in hand.

Ronaldo sent a long-range effort into Lukasz Fabianski's arms as United dominated the early exchanges, before Rashford cut inside to send a deflected shot onto the roof of the net.

West Ham weathered that early storm and then escaped when Anthony Elanga badly miscued a volley from just six yards out after 36 minutes.

United led from their very next attack, however, with Rashford planting a brilliant header beyond Fabianski after meeting Christian Eriksen's hanging cross.

Ronaldo should have done better with a left-footed effort following Rashford's reverse pass as United continued to press after half-time, before David de Gea tipped Michail Antonio's fierce strike over the crossbar.

De Gea then made a brilliant reflex save from Kurt Zouma's header and denied Declan Rice from range after Maguire blocked from Jarrod Bowen, before which substitute Fred had nodded against the right-hand post at the other end – a near miss that did not prove costly.