Chelsea played some dazzling football to easily beat West Brom 2-0 at Stamford Bridge with goals from Diego Costa and Eden Hazard to stretch their unbeaten start to the season to 18 matches in all competitions.
City came from behind to defeat Swansea City 2-1 at the Etihad Stadium with Yaya Toure scoring the winner, while United, who have struggled since Louis van Gaal took over, won 2-1 at Arsenal to climb to fourth with their first away win under the Dutch coach.
Arsenal, who have not finished outside the top four since 1996, slipped to eighth on 17 points — their lowest tally after 12 matches for 32 years.
Chelsea lead the table with 32 points from 12 games, followed by Southampton, who have 25 from 11 and play at Aston Villa on Monday.
City have 24 points and United have 19, ahead of Newcastle United on goal difference. Newcastle, who are fifth, continued their rise up the table with a 1-0 win over bottom-placed Queens Park Rangers.
Although there are still 26 matches left, Chelsea reinforced their position as overwhelming title favourites by demolishing West Brom, who were already 2-0 down when they had defender Claudio Yacob red-carded for a two-footed lunge on Costa.
After seeing his team make it six league wins out of six at home, manager Jose Mourinho told Sky Sports: “We played spectacular high quality football in the first half.”
Across London in the evening kickoff, United did not sparkle like Chelsea but they eked out the result they craved at Arsenal, who lost at home in the league for the first time since the opening day of last season.
Arsenal had plenty of chances to win but wasted all of them and went behind in the 56th minute when Kieran Gibbs sent a deflected cross flying past his own goalkeeper Wojciech Szczesny who later went off injured.
Replacement keeper Emiliano Martinez could not stop Rooney completing a great week by making it 2-0 after a United counter-attack in the 85th minute.
Rooney won his 100th cap for England versus Slovenia last Saturday and on Tuesday against Scotland scored his 46th goal to move to third on England’s all-time scoring list.
Arsenal came back when Olivier Giroud, on as a substitute after a three-month injury absence with a broken leg, scored with a stunning 22-metre strike but United held on for the win.
Van Gaal told the BBC: “I think it is a fantastic victory at the right moment. We have a lot of injuries but despite that we won a difficult away match.
“At the end, I can laugh but you can imagine if they score one of four or five chances in the first half then it is a different game.”
Arsenal manager Arsene Wenger added: “It was one-way traffic and we lost the game, we have to take it on the chin. I know we’ll be criticised for it but you have to respect the energy levels we put in.”
West Ham United, who started the day in fourth place, ended it in sixth after losing 2-1 at Everton who made it seven matches without defeat in all competitions. Leon Osman scored the winner on his 400th club appearance. In the day’s other matches, Burnley won 2-1 at Stoke City, with Danny Ings scoring twice inside two minutes in the first half, and Leicester City, who have not scored for five league matches, drew 0-0 with Sunderland.
(Reporting by Mike Collett; Editing by Ian Chadband and Ken Ferris)