The win comes after Erik Ten Hag’s side reached the quarterfinals of the UEFA Europa League on Thursday, but came after a dramatic last 15 minutes when Aleksandar Mitrovic powered Fulham ahead five minutes into the second half.
Fulham were the better side, but everything changed in the 72nd minute when Willian handled a goal-bound shot from Jadon Sancho on the goal-line and was sent off, with Mitrovic following him into the dressing room for his complaints, along with Fulham coach Marco Silva.
Bruno Fernandes scored the resulting penalty and Marcel Sabitzer put United against nine-man Fulham in the 77th minute, before Fernandes scored a third for his side in the 96th minute.
Fourth-tier Grimsby Town’s brave cup run came to an end after they lost 5-0 away to Brighton, who gave them little option and scored four goals in the second half.
Deniz Undav put Brighton ahead after just six minutes, and after the break, 18-year-old Ewan Ferguson scored twice, along with Solly March and Kaoru Mitoma as football logic made itself felt.
Sheffield United qualified for the FA Cup semifinal for the second time in 10 years with a thrilling 3-2 win at home to Blackburn Rovers in an all-second tier tie.
Ben Brereton Diaz’s 21st-minute penalty put Blackburn ahead, only for Sam Gallagher’s own goal to level the scores in the 28th minute.
Sammie Szmodics looked to have put Blackburn into the last four with his 60th minute goal, but Oliver McBurnie equalized nine minutes from time, and Thomas Doyle scored a 91st-minute winner to put United through.
Manchester City booked a semifinal spot on Saturday with a 6-0 pummeling of Championship leaders Burnley.
Erling Haaland scored his second hat-trick of the week and his sixth since arriving at the club, while Julian Alvarez netted twice and Cole Palmer also scored for Manchester City.
In the Premier League, Arsenal took advantage of City’s cup exploits to open up an eight-point lead at the top of the table with a 4-1 win at home to Crystal Palace.
Palace sacked Patrick Vieira as coach on Friday after a run of 12 games without a win, but it made little difference as Arsenal led 2-0 at halftime thanks to goals from Gabriel Martinelli and Bukayo Saka.
Granit Xhaka made it 3-0 in the 55th minute, and although Jeffrey Schupp pulled a goal back for Palace in the 63rd minute, Saka’s second of the match ended any hopes of a fightback 10 minutes later.
On Saturday, Everton held Chelsea to a 2-2 draw at Stamford Bridge thanks to goals from Abdoulaye Doucoure and Ellis Simms, after Chelsea had twice led though Joao Felix and Kai Havertz’s 76th-minute penalty.
James Ward-Prowse’s injury-time penalty saw Southampton save a valuable point at home to Tottenham, who had led 3-1.
Pedro Porro put Tottenham ahead in first-half injury time, only for Che Adams to level in the 46th minute. Harry Kane and Ivan Perisic then put Spurs 3-1 ahead, but Theo Walcott gave Southampton hope in the 77th minute and Ward-Prowse capped the comeback from the penalty spot.
Leeds United took a big step towards safety with a 4-2 win away to Wolves, with goals from Jack Harrison, Luke Ayling, Rasmus Kristensen and Rodrigo Moreno, while Wolves duo Jonny and Mateus Nunes were both sent off.
Goals from Douglas Luiz, Jacob Ramsey and Emi Buendia gave Aston Villa a comfortable 3-0 win at home to Bournemouth, while Leicester City ended a four-game losing streak with a 1-1 draw away to Brentford.