Pep Guardiola's team roared back from a two-goal half-time deficit to score three times after the break, with Sergio Aguero grabbing a disputed late winner in a 3-2 victory.
But United were unable to match their city rivals, slipping to a 2-1 defeat at Wolves to hand interim manager Ole Gunnar Solskjaer a second consecutive defeat.
In a dramatic game in south Wales, Championship side Swansea were 2-0 up against Premier League leaders City shortly before the half hour through a Matt Grimes penalty and fine strike by Bersant Celina.
But Bernardo Silva pulled a goal back in the 69th minute and the visitors went for the kill, drawing level after an Aguero penalty hit a post and went in off goalkeeper Kristoffer Nordfeldt.
The City pressure intensified and Aguero had the final word in the 88th minute with a stooping header to complete a stunning fightback.
It was a lucky escape for City as replays showed Raheem Sterling was fortunate to win the penalty that led to the equaliser, while Aguero was marginally offside for the winner.
Guardiola stays coy as City aim to advance quadruple bid
"If it is not penalty, and it is offside like the people say, I'm sorry," Guardiola said.
"They ask all the clubs about the VAR (video assistant referee) and all around Europe the VAR is there and here it's not. I don't like to lose games when the decisions are wrong but the referees don't want to make wrong decisions, but they must be helped."
Having already won the League Cup and advanced to the Champions League quarter-finals, City remain in the hunt for an unprecedented clean sweep of all four major trophies.
Twelve-time FA Cup winners United were below par as they followed up last week's Premier League defeat at Arsenal with a meek exit at Molineux.
Raul Jimenez and Diogo Jota sent Wolves into the semi-finals of the FA Cup for the first time in 21 years with two goals in six second-half minutes, with United only having Marcus Rashford's late consolation to show for their efforts.
United never convinced and could have lost by more, with Sergio Romero turning Jimenez's header on to the bar and denying Jota.
"I'm very proud of the players. We had composure, shape, good running," said Wolves manager Nuno Espirito Santo.
Solskjaer's United looking for response after rare defeat
"It means a lot because we know how big Wolves were in the 1950s and 1960s and there are people in the stadium who have memories of that. To try to achieve the same is much, much harder now but we will try step by step."
Disappointed Solskjaer, who had only suffered two defeats in 18 games before the Wolves match, described the performance as "a big step backwards".
"We've had a great run and now we've had two defeats. Against Arsenal we just couldn't score and today was poor, the poorest we've played," he said.
"I'm here until the summer, we've got loads to play for in the league and the Champions League."
In the early game on Saturday Andre Gray came off the bench to fire Watford into last four with a late winner in their 2-1 victory over Crystal Palace.
Javi Gracia's side had taken the lead through Etienne Capoue's first-half strike before Michy Batshuayi equalised for Palace after the interval.
Championship side Millwall host Premier League side Brighton on Sunday.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ