Sergio Aguero opened the scoring for Manchester City from the penalty spot after Adam Johnson had been fouled, then Fulham defender Chris Baird doubled the lead when he turned Johnson's low cross into his own goal, before Edin Dzeko wrapped up the win 18 minutes from time.
Second-placed Manchester United can move level again with their city rivals with victory at Chelsea on Sunday.
Elsewhere, Thierry Henry scored his first Premier League goal since his return to Arsenal in their 7-1 drubbing of Blackburn.
It was a miserable afternoon for Rovers, who also saw defender Gael Givet shown a first-half red card for a two-footed challenge on Robin van Persie.
The Holland striker began Arsenal's goal frenzy in the lunchtime kick-off after just two minutes, hitting his second seven minutes before half-time and completing the hat-trick in the 62nd minute.
Morten Gamst Pedersen had equalised for the visitors but Alex Oxlade-Chamberlain (two) and Mikel Arteta redressed the balance before on-loan Henry, on as a substitute, scored in injury time.
Sunderland's impressive form under Martin O'Neill continued as a strike from James McClean secured them a 1-0 win at 10-man Stoke.
In another contest where snow fell throughout, a first half of few chances finished with Potters defender Robert Huth sent off for a tackle on David Meyler.
McClean then netted on the hour, bursting through the hosts' defence and tucking the ball away to seal a victory which means the Black Cats have now taken 22 points from the 30 on offer since O'Neill took over.
Swansea's on-loan midfielder Gylfi Sigurdsson played a major role in Brendan Rodgers' side coming from behind to register only their second away win of the season at West Brom.
The Iceland international, who joined from Hoffenheim last month until the end of the season, cancelled out Marc-Antoine Fortune's opener and laid on the winner in a 2-1 win for Danny Graham.
Second-half goals from Andrew Surman and Anthony Pilkington ensured Norwich ended a nervy afternoon with a 2-0 win over strugglers Bolton at Carrow Road.
The game looked set to peter out into a dull goalless draw until Surman volleyed home in the 70th minute and Pilkington wrapped up the win just before the end with an instinctive finish after Bolton goalkeeper Adam Bogdan had parried Russell Martin's drive.
Substitute Kevin Doyle inspired a second-half Wolves comeback at QPR to secure a 2-1 victory.
The Republic of Ireland international came off the bench at half-time and helped set up Matt Jarvis' equaliser 51 seconds later, before going on to net the winner.
It had looked like QPR boss Mark Hughes would be going home with the three points after debutant Bobby Zamora fired Rangers into a deserved lead just days after his move from west London rivals Fulham.
Wolves were given a way back into the game, though, when fellow striker Djibril Cisse was shown a straight red card for an altercation with Roger Johnson in the 34th minute.
Wigan benefited from one of the more bizarre goals the league will see this season but had to settle for a 1-1 draw against Everton at the DW Stadium.
It had been a thoroughly forgettable affair until the 76th minute when Phil Neville blocked a Jean Beausejour cross and the ball somehow found its way past Tim Howard for a hugely embarrassing own goal.
But the hosts' lead lasted only seven minutes, substitute Victor Anichebe heading in the equaliser.