Manchester United booked an FA Cup fourth-round meeting with Middlesbrough as Scott McTominay's eighth-minute header proved enough to beat Aston Villa at Old Trafford.
McTominay was allowed to run unchallenged to the edge of the Villa six-yard box, where he met Fred's perfectly weighted cross to steer the ball past Emiliano Martinez.
The goal condemned Villa boss Steven Gerrard to an unhappy return to Manchester, where he was baited by the home supporters because of his allegiance to Liverpool.
However, the result was incredibly harsh on Gerrard and his team.
Twice in a matter of minutes early in the second period they had the ball in the United net, only for both to be ruled out.
The second was a straightforward offside goal against Danny Ings, albeit the flag was not raised until after Ollie Watkins had put the ball in the net.
However, the first was far more debatable and involved a lengthy wait for VAR to ask referee Michael Oliver to make final decision by consulting the screen and eventually ruling Jacob Ramsey was offside and impeded Edinson Cavani in the build-up.
Villa's third-round misery continues
Villa's recent record in this competition has been awful. Their last victory was a third-round replay against Wycombe in 2016, meaning by next year's competition, they will have gone seven seasons without winning a match in it.
They could easily have avoided that sorry statistic given their part in a breathless all-top-flight encounter, which was full of attacking invention and defensive errors.
John McGinn and Emiliano Buendia both tested David de Gea. Watkins beat the United goalkeeper but not the crossbar before Ramsey's goal-bound shot was deflected narrowly wide by the legs of McTominay.
The Watkins effort came courtesy of a woeful first touch from Victor Lindelof, who was partnering Raphael Varane in the absence through injury of Harry Maguire and Phil Jones.
Lindelof's attempt to control a high ball facing his own goal only resulted in the Swede propelling it towards his own goal. De Gea did not come for it, leaving the United defender in a shoving match with Watkins which the striker won.
Instead of steering the ball into the far corner, Watkins lifted it past De Gea and on to the bar.
Villa will be aggrieved at Ings' apparent equaliser being disallowed given the time it took to reach a decision, as fans of both sides became increasingly irritated because they had no idea what was going on.
Rashford's disappointment
United interim boss Ralf Rangnick has spoken repeatedly about his side's need to start controlling matches.
But this latest effort did not give any indication they know how to do it.
Repeatedly, the hosts gave away possession under little pressure to the extent it was Villa who had the majority of it.
Marcus Rashford had a particularly grim night, blasting his best chance straight at Martinez from an acute angle and failing to follow up on a Mason Greenwood shot that bobbled towards him as the Villa keeper failed to hold. By the time he was replaced by Jesse Lingard four minutes from time, the England man looked a thoroughly dispirited figure.
This was also an evening when those who feel Cristiano Ronaldo is at the root of United's problems were given food for thought.
Ronaldo was missing with what Rangnick described as "minor problems" but the spark and fluidity United have been missing in recent times did not reappear.
Line-ups
Man Utd
Formation 4-2-2-2
1de Gea
20Dalot2Lindelöf19Varane23Shaw
39McTominay17Fred
10Rashford18Bruno Fernandes
11Greenwood21Cavani
1de Gea20DalotBooked at 70mins2Lindelöf19Varane23ShawBooked at 68mins39McTominay17FredBooked at 65mins10RashfordSubstituted forElangaat 86'minutes18Bruno FernandesSubstituted forLingardat 85'minutes11Greenwood21CavaniSubstituted forvan de Beekat 72'minutesSubstitutes
8Mata14Lingard16Diallo22Heaton27Telles29Wan-Bissaka31Matic34van de Beek36ElangaAston Villa
Formation 4-3-3
1Martínez
2Cash4Konsa5Mings3Targett
7McGinn6Douglas Luiz41J Ramsey
10Buendía20Ings11Watkins
1Martínez2Cash4Konsa5Mings3Targett7McGinn6Douglas Luiz41J RamseyBooked at 12minsSubstituted forPhilogene-Bidaceat 86'minutes10BuendíaSubstituted forEl Ghaziat 79'minutes20Ings11WatkinsSubstitutes
8Sanson12Steer21El Ghazi30Hause32Philogene-Bidace33Chukwuemeka35Archer38Sinisalo47IroegbunamLive Text
Match ends, Manchester United 1, Aston Villa 0.
Second Half ends, Manchester United 1, Aston Villa 0.
Corner, Manchester United. Conceded by Jaden Philogene-Bidace.
Attempt missed. Anwar El Ghazi (Aston Villa) right footed shot from the right side of the box is high and wide to the right.
Attempt saved. Mason Greenwood (Manchester United) left footed shot from outside the box is saved in the bottom right corner.
Corner, Aston Villa. Conceded by Fred.
Substitution, Aston Villa. Jaden Philogene-Bidace replaces Jacob Ramsey.
Substitution, Manchester United. Anthony Elanga replaces Marcus Rashford.
Substitution, Manchester United. Jesse Lingard replaces Bruno Fernandes.
Corner, Manchester United. Conceded by Jacob Ramsey.
Substitution, Aston Villa. Anwar El Ghazi replaces Emiliano Buendía.
Attempt saved. Mason Greenwood (Manchester United) left footed shot from a difficult angle on the right is saved in the top right corner.
Attempt saved. Mason Greenwood (Manchester United) left footed shot from outside the box is saved in the centre of the goal.
Substitution, Manchester United. Donny van de Beek replaces Edinson Cavani.
Attempt missed. Ollie Watkins (Aston Villa) left footed shot from outside the box is close, but misses to the left.
Diogo Dalot (Manchester United) is shown the yellow card.
Matt Targett (Aston Villa) wins a free kick in the defensive half.
Foul by Diogo Dalot (Manchester United).
Luke Shaw (Manchester United) is shown the yellow card.
Jacob Ramsey (Aston Villa) wins a free kick in the defensive half.