Two goals from Marcus Rashford gave Manchester United a crucial 2-1 victory over Liverpool at Old Trafford, putting them five points clear of their rivals in second place in the Premier League.
United were without the injured Paul Pogba, Rashford taking his place, while Liverpool made five changes from their Champions League game against Porto last week.
The visitors constructed the first move of note when Sadio Mane found Milner, whose low cross was cleared by Scott McTominay as Alex Oxlade-Chamberlain waited.
But that was a rare moment of cohesion in a shapeless opening few minutes, with United content to sit back and pick off Liverpool's passes.
Ashley Young played a dangerous-looking ball towards Marcus Rashford as the home side stepped things up and then Nemanja Matic looked early for Romelu Lukaku, who was unable to make anything of it.
But the deadlock was broken after 14 minutes thanks to Rashford, who conjured a superb finish to give United the lead.
Lukaku created the chance with a header into Rashford's path, and the England forward got to the ball ahead of Trent Alexander-Arnold, turned away from him and curled his shot high beyond Loris Karius.
Roberto Firmino looked for Mane at the back post as Liverpool tried to hit back, but his cross was a fraction too high.
At the other end, Rashford was in the action again as he darted into the area only for Andrew Roberson to clear.
But a 23rd-minute Liverpool corner should have brought the leveller, only for Virgil van Dijk to fail to find a proper connection after he had got away from Matic.
The defender was made to pay a minute later when he only half dealt with another Lukaku flick and Rashford, via a slight deflection, fired into the bottom corner for his second goal.
Firmino shot straight at David De Gea as Liverpool tried to find a way back into things, while Rashford was booked for a lunging challenge on Milner.
Oxlade-Chamberlain followed him into the book when he fouled McTominay after losing out to him in a midfield challenge.
With half time approaching, Mata could have made it three when Alexis Sanchez floated in a cross and his attempted bicycle kick flew narrowly wide.
The visitors won a corner from which Dejan Lovren could only steer wide as they continued to struggle to test De Gea, and Young was on the spot to clear another Mane cross seconds before the half-time whistle.
Salah attempted to get Liverpool going in the opening moments of the second half, but Robertson was unable to reach his pass out wide.
Jurgen Klopp's side were beginning to threaten more and Van Dijk floated a header onto the roof of the net before Young grappled with Salah inside the area but referee Craig Pawson waved away penalty appeals.
It was all Liverpool, and Mane tried his luck from distance only to see the shot strike Eric Bailly and run straight to De Gea.
Pawson was again unmoved when a Robertson cross hit Antonio Valencia on the arm, while Young was again in the right place to clear for United when Mane flicked the ball towards Salah inside the area.
Shortly past the hour Klopp made his first change of the afternoon, bringing on Adam Lallana for Oxlade-Chamberlain, and Milner thumped over moments later as De Gea remained almost untroubled in the United goal.
But that pattern changed dramatically on 66 minutes when Mane got down the left and crossed for Liverpool, with the ball hitting Bailly on the heel and going into the bottom corner despite De Gea getting a touch.
The United defender was hurt in the incident but got back to his feet after treatment and home boss Jose Mourinho opted to make a change, taking off Rashford and replacing him with midfielder Marouane Fellaini.
Lukaku got away down the right and looked for Valencia as the game entered its final 20 minutes only for the move to fizzle out with the home side struggling to retain possession.
Mane tried another strike from the edge of the area but again United's defence held firm, and at the other end Sanchez almost gave Alexander-Arnold the slip before Liverpool got the ball away.
Klopp made another change as the game entered its final 10 minutes, bringing on midfielder Georginio Wijnaldum for Alexander-Arnold, and Robertson made way for Dominic Solanke as Klopp committed to all-out attack in search of a late equaliser.
Lallana crossed towards the far post where Matic produced a firm header clear for United, with Bailly doing likewise as Milner fired in another cross.
Mourinho brought on Jesse Lingard for Juan Mata as the clock ticked towards injury time, with Valencia going into the book for a foul seconds later when Mane looked to be getting away from him.
The officials signalled that six minutes of added time would be played -- but United, who brought on Matteo Darmian for Sanchez in the dying seconds, held on amid growing pressure that brought a flurry of late Liverpool corners.