Beaten 2-1 by their local rivals in the Premier League a month ago, Pep Guardiola sprung a tactical surprise by starting with no recognised striker in a strong-looking line-up.
The move proved inspired as City tore through a United defence that was missing the injured Harry Maguire, with Bernardo Silva, Riyad Mahrez and an Andreas Pereira own goal putting them 3-0 up at the break.
Marcus Rashford got a goal back to give United a glimpse of hope ahead of the second leg in three weeks, but a first final since they won the competition in 2017 already looks beyond them.
After a cagey opening, Silva put City ahead in emphatic fashion, driving away from Fred and unleashing a ferocious strike from 25 yards that left David de Gea with no chance.
United had City on the ropes in the first half-hour of the league meeting at the Etihad Stadium, but Guardiola’s side were firmly in control and largely untroubled by the threat of the counter-attack.
Their grip on the tie was strengthened 33 minutes in, when Victor Lindelof could not cut out Silva’s throughball and Mahrez had time to round De Gea and finish.
A miserable first half for United got worse five minutes later, when the ball deflected off Pereira and into the net after Kevin De Bruyne left Phil Jones on the turf.
De Gea had to make a smart save with his right foot to stop Mahrez from adding a fourth, although City mostly eased off after the restart, and that relative complacency did allow United a lifeline.
De Bruyne’s loose pass to Rodri was closed down by Angel Gomes, Mason Greenwood raced forward and played in Rashford to slot the ball beneath Claudio Bravo, giving the Red Devils something to hold onto ahead of the second leg.
What does it mean? Final beckons for City, but there is only more scrutiny on Solskjaer
United were outthought and outplayed in the first half and only a minor miracle in the second leg will see them turn the tie around and reach the final.
The home fans stuck by their team admirably in the second half but, with arguably their best chance of a trophy this season all but gone and with performances in 2020 far from adequate, how much longer will Solskjaer be given to implement his long-term vision?
Bernardo sets tone with blockbuster
Silva’s goal was spectacular, but his assist for Mahrez was of an equally high quality. United simply did not know how to keep him in check.
Pereira out of his depth
Injuries mean United’s midfield options are down to the bare minimum, but Pereira may have played anyway given the trust he has been given by Solskjaer. Such was his display here, his manager’s faith may not last much longer.
These two meet in the second leg on January 29. More immediately, United host Norwich City in the Premier League on Saturday, while City head to Aston Villa a day later.