Bruno Fernandes’ stoppage-time goal condemned Fulham to defeat at Craven Cottage.
Fernandes fired into the corner of the net from near the edge of the penalty area after Joao Palhinha’s botched clearance.
It was tough on the Whites, who had chances, but Manchester United will feel justice was done after controversially having a first-half goal disallowed.
United thought they took the lead through Scott McTominay’s strike, but after a lengthy VAR check it was adjudged that Harry Maguire, who was in an offside position, was interfering with play despite not touching the ball.
Fulham put the visitors under pressure in the second half and Willian had an effort blocked by Maguire and sent another wide of the target.
And United keeper Andre Onana produced two saves in quick succession, doing brilliantly to keep out Harry Wilson’s long-range shot and also deny Palhinha.
Fulham: Leno, Castagne, Bassey, Ream, Robinson, Palhinha, Iwobi (Jimenez 89), Wilson (Cairney 90), Pereira (De Cordova-Reid 81), Willian (Lukic 76), Muniz (Vinicius 76).