Manchester City put themselves firmly in the title picture with a convincing 6-3 win over leaders Arsenal at the Etihad Stadium.
The prolific strikeforce of Sergio Aguero and Alvaro Negredo were again on target while Fernandinho struck twice and David Silva and Yaya Toure also got on the scoresheet.
Theo Walcott marked his first start since September with two fine goals to keep Arsenal in contention but Per Mertesacker's late header was mere consolation for a side ultimately well beaten.
City, who have now scored 35 goals in their eight home games this season, fully deserved the three points to move within three of the Gunners.
Chelsea got back to winning ways in the Premier League with a 2-1 win over Crystal Palace, ensuring they closed the gap on leaders Arsenal to two points.
Fernando Torres gave Chelsea the lead after quarter of an hour as Willian's header was touched onto the post by Julian Speroni, leaving Torres with a close-range finish.
However, that was cancelled out by the in-form Marouane Chamakh who volleyed home his third goal in as many games. That parity lasted just six minutes as Ramires swept in Chelsea's second of the match after being picked out by Eden Hazard.
Everton moved into the top four of the Premier League with a 4-1 victory over Fulham at Goodison Park, with three goals coming in the final quarter of the match to ease the home side clear.
Leon Osman struck for Everton on 19 minutes after good play from Steven Pienaar set him free on goal, and it remained 1-0 until a Dimitar Berbatov penalty midway through the second half, with Gareth Barry penalised for a foul on Alexander Kacaniklic.
However, that equaliser only stirred Roberto Martinez’s men into life, with three goals in the final 17 minutes. Seamus Coleman was the first to strike, again thanks to good play from Pienaar, before Barry added a third even though he appeared to be assisted by a handball in the build up.
Kevin Mirallas completed the scoring in injury time, and the result leaves Fulham second bottom of the Premier League table. It is the 21st consecutive victory for Everton over Fulham at Goodison Park, the longest winning streak between any two teams in the top flight.
Newcastle and Southampton served up an entertaining 1-1 draw at St James’ Park. Newcastle went ahead on 27 minutes when Yoan Gouffran capitalised on poor Southampton defending to round visiting goalkeeper Paulo Gazzaniga and score.
Jay Rodriguez equalised on 65 minutes by finishing off an excellent team move after a one-two with Steven Davis. An error by Gazzaniga presented Loic Remy with a golden opportunity to win the match, but the French striker somehow missed.
However, Newcastle remain three points ahead of their visitors in the table.
A Peter Whittingham header from Craig Noone’s corner on 65 minutes was enough to give Cardiff a 1-0 victory over West Brom in the Welsh capital.
It is the fourth consecutive defeat for the Baggies, and they hover just two points clear of the relegation zone, while Cardiff leap to 14th.
West Ham and Sunderland played out a dour 0-0 draw at Upton Park, leaving Gus Poyet’s men rooted to the bottom of the table, with the Hammers themselves only a point ahead of Crystal Palace and Fulham in the relegation zone.
Goalkeepers Asmir Begovic and Allan McGregor took the plaudits as their smart reactions ensured a goalless draw between Hull and Stoke at the KC Stadium.
It might not have been a game to rouse the neutrals at home, but a point apiece serves both sides well enough in their attempt to pull away from the relegation scrap.