Arsenal opened up a four-point gap at the top of the Premier League table after beating Southampton, while the Merseyside derby ended in a thrilling 3-3 draw.
Crystal Palace manager Tony Pulis watched on as his new club climbed off the bottom of the table by beating Hull City as Sunderland slumped to the foot of the standings after losing at Stoke City and Chelsea cruised to victory over West Ham United.
Fulham dropped into the bottom three after losing to Swansea City and Norwich City boss Chris Hughton endured an unhappy return to former club Newcastle United.
Substitute Daniel Sturridge glanced home a late header to earn Liverpool a 3-3 draw in the Merseyside derby after Everton had twice come from behind to lead at Goodison Park.
Liverpool took the lead on five minutes when Steven Gerrard swung over a cross from the left, Luis Suarez could not get the significant touch to direct it goalwards but it was enough to send it to Philippe Coutinho who smashed home a shot at the far post.
But, within three minutes, Everton were level when Ross Barkley got to Leighton Baines’ free-kick ahead of Martin Skrtel and diverted it to Kevin Mirallas who nipped in front of Gerrard to stab home.
The Reds regained the advantage on 19 minutes when Suarez, after he had been fouled by James McCarthy, curled a brilliant free-kick through a gap in the wall and inside the post.
Mirallas then escaped a red card before half-time following a knee-high challenge on Suarez before Joe Allen missed a great chance to put the game to the bed in the second half.
Everton equalised for a second time on 72 minutes when Romelu Lukaku rammed home following Mirallas’ cross into the box.
The two Belgium internationals combined again to put Everton in front with eight minutes left when Mirallas’ corner from the left was met by a powerful header from Lukaku.
But, with a minute remaining, Liverpool claimed a point when Gerrard whipped in a free-kick from the right and Sturridge flicked a header over Tim Howard.
Olivier Giroud scored twice as Arsenal overcame Southampton 2-0 at the Emirates Stadium thanks in large part to a howler from visiting goalkeeper Artur Boruc.
Arsenal twice came close to scoring before they took the lead on 22 minutes, with Jack Wilshere’s dink over Boruc coming back off the post and Aaron Ramsey’s impudent flick from Mesut Ozil’s cross clipping the outside of the upright.
The goal itself was completely avoidable from Southampton’s point of view as Boruc declined the chance to clear and then, after dallying on the ball, he was robbed by Giroud, who scored into an empty net.
The leaders wrapped up the points four minutes from time when Jose Fonte pulled Per Mertesacker’s shirt in the box and Giroud converted the resulting penalty.
Frank Lampard ended a lengthy goal drought in the Premier League to score twice against his former club as Chelsea beat West Ham 3-0 at Upton Park.
Veteran midfielder Lampard had failed to score in his previous 10 league appearances, but hammered Chelsea ahead from the penalty spot on 21 minutes after West Ham keeper Jussi Jaaskelainen had brought down Oscar.
Brazilian playmaker Oscar doubled the visitors’ lead on 34 minutes when he was allowed to run unchallenged before firing a low shot past Jaaskelainen from the edge of the area.
The scoring was completed with eight minutes to go when a shot rebounded to Lampard 20 yards from goal and he guided the ball beyond Jaaskelainen.
Newcastle made it three wins in a row as first-half goals from Loic Remy and Yoan Gouffran saw off Norwich 2-1 at St James’ Park.
The Magpies were in front inside the opening two minutes when Yohan Cabaye’s corner from the left was allowed to bounce in the six-yard box by the Norwich defence and Remy headed home at the far post.
The lead was increased on 38 minutes when Norwich keeper John Ruddy failed to hold Shola Ameobi’s downward header and Gouffran pounced from close range.
Norwich pulled a goal back with 10 minutes to go when Nathan Redmond’s corner was met by Leroy Fer and Newcastle keeper Tim Krul was unable to keep his fellow Dutchman’s header out.
Mark Hughes enjoyed his 100th Premier League win as a manager as Stoke beat 10-man Sunderland 2-0 at the Britannia Stadium.
Stoke edged ahead on the half-hour mark when Steven N’Zonzi held the ball up in the box and rolled a pass back for Charlie Adam to side-foot beyond Vito Mannone.
Sunderland’s afternoon got worse six minutes later when Wes Brown was shown a straight red by referee Kevin Friend, although the defender appeared to be in control of his challenge when getting to the ball before Adam.
The home side made the points safe with nine minutes remaining when Peter Crouch played in N’Zonzi for a neat finish past Mannone.
Caretaker boss Keith Millen will hand over the reins to Pulis on a winning note after 10-man Crystal Palace pinched a 1-0 victory over Hull City at the KC Stadium.
Palace’s prospects of only a second win of the season appeared to be hit when Yannick Bolasie was sent off 12 minutes from time for a challenge on Jake Livermore, with the decision looking on the harsh side.
But, three minutes later, Palace substitute Cameron Jerome darted down the left of the box and played the ball across for Barry Bannan to score at the far post.
Fulham crashed to a fourth successive Premier League defeat after Jonjo Shelvey’s late strike secured Swansea a 2-1 win at Craven Cottage.
After a quiet first half, Swansea took the lead on 56 minutes when Alejandro Pozuelo played in a dangerous low cross from the right and Aaron Hughes turned the ball past his own keeper Maarten Stekelenburg.
There also seemed to be an element of fortune about Fulham’s equaliser eight minutes later when Scott Parker received a short corner inside the area and the captain’s apparent cross curled inside the far post.
Swansea regained the lead decisively in the 80th minute when Shelvey found a little bit of space on the edge of the box and curled a shot just beyond Stekelenburg’s reach.