Alex Ferguson's side secured their fourth successive league win thanks to a brace from England striker Rooney and that allowed the champions to move one point clear of bitter rivals City, who surrendered top spot when Luke Moore scored Swansea's winner with just seven minutes left at the Liberty Stadium.
At Old Trafford, United made a slow start and Albion midfielder Keith Andrews prodded wide from close-range before firing in a powerful drive that David de Gea did well to save.
But the hosts gradually found their rhythm and took the lead in the 35th minute thanks to Rooney's 23rd goal of the season.
Paul Scholes picked out Javier Hernandez and the Mexican forward made an incisive run in the penalty area before flicking a cross towards Rooney, who was just onside as he diverted the ball past Albion goalkeeper Ben Foster.
United were only denied a second goal by the woodwork as Hernandez's strike cannoned off a post.
Albion's hopes of a comeback began to fade in the 66th minute when Swedish defender Jonas Olsson was sent off for a second booking after tripping Hernandez.
And Ferguson's team put the result beyond doubt when Rooney stroked home a penalty five minutes later after Andrews fouled Ashley Young.
United's success was made even sweeter by City's first defeat in five league matches and their second reverse of the week following a Europa League loss to Sporting Lisbon.
Roberto Mancini's men were fortunate not to fall behind in the sixth minute when referee Lee Mason ruled that England goalkeeper Joe Hart had fouled Wayne Routledge as he tried to save at the winger's feet.
Scott Sinclair took the spot-kick, but Hart plunged to his right to save the Swansea forward's tame strike.
Swansea continued to dominate despite Sinclair's miss and Mancini responded by sending on Argentine striker Sergio Aguero before half-time in place of Gareth Barry, who appeared to exchange words with City assistant David Platt as he trudged off.
City duo Kolo Toure and David Silva both went close to breaking the deadlock, but the leaders' frustration appeared to boil over again at half-time, with reports of a tunnel argument between Mario Balotelli and Yaya Toure.
Balotelli appealed in vain for a penalty early in the second half when the Italian striker made a theatrical tumble after a slight nudge from Joe Allen.
But City just couldn't get into their stride and smooth-passing Swansea made them pay for some sloppy defending in the 83rd minute.
Stefan Savic gave the ball away and Routledge crossed for unmarked substitute Moore to head past Hart.
Micah Richards thought he had equalised in the closing moments but the defender's header was rightly ruled out for offside.
Source: AFP
Source: AFP