Leading goalscorer Dimitar Berbatov was handed a starting role by Sir Alex Ferguson in the absence of Wayne Rooney through suspension, and the Bulgarian was guilty of wasting two fine chances as United dominated the early stages.
Berbatov was first played through after some neat build up play only to be foiled by a smart block from Joe Hart in the City goal, and the Red Devils striker then lifted his shot over the bar from close range after meeting a Nani delivery into the box.
City, who are bidding to end a 35-year wait for a major trophy, fashioned their first chances of the game in response as Gareth Barry fired into the side-netting before Mario Balotelli’s long-range strike was turned over the crossbar by United goalkeeper Edwin van der Sar.
Joleon Lescott and Vincent Kompany were both off-target as Roberto Mancini’s men grew in confidence, and they finally went in front on 52 minutes after some calamitous defending by United.
Rio Ferdinand’s poor backpass was cleared only as far as David Silva by van der Sar, but John O’Shea reacted quickest to prevent the Spaniard getting a shot in on an empty goal. However, the ball fell to Michael Carrick and his dreadful pass across the face of his own goal was intercepted by Yaya Toure, and the Ivorian held off the midfielder before surging past Nemanja Vidic to roll the ball home between the legs of Van der Sar.
Lescott should have headed in a second as City had United on the ropes, but the red half of Manchester finally regained their composure and would have pulled level had Nani’s free-kick not been pushed onto the crossbar by Hart.
United’s task was made all the more difficult with 17 minutes left when Paul Scholes was shown the red card for a reckless high challenge on Pablo Zabaleta, and City closed out a famous victory that will now see them return to Wembley on May 14 to meet either Stoke City or Bolton Wanderers.