The 20-year-old put United ahead on 14 minutes when he raced on to Romelu Lukaku’s flick and curled past Loris Karius.
Moments after Virgil van Dijk had headed wide for Liverpool, Rashford swept home the rebound after Juan Mata’s run had been intercepted.
Liverpool halved the deficit when Eric Bailly turned Sadio Mane’s cross into his own net on 66 minutes.
But United held on for an 11th win in 14 league home matches against the Merseysiders.
They move five points clear of their opponents, who are third on 60 points.
Man Utd: 31 Mar v Swansea (H)
Liverpool: 17 Mar v Watford (H)