Frank Lampard scored his 100th career goal as Chelsea overcame the disappointment of two draws in the last seven days to beat Blackburn 4-2 at Stamford Bridge.
The England midfielder had a hand in three goals, scoring two after crossing for Didier Drogba to net a 10th-minute opener. Four minutes later Andy Todd was penalised for holding John Terry and Lampard fired home the penalty.
However, Rovers hit back in the 18th minute when Ricardo Carvalho fouled Zurab Khizanishvili and Craig Bellamy converted from the spot.
A Petr Cech blunder handed Blackburn an equaliser when, in the last minute of the first half, the keeper miskicked a backpass from Asier Del Horno straight up in the air and allowed Bellamy to capitalise and score his second of the match.
Blackburn manager Mark Hughes was sent to the stands 10 minutes into the second half for his constant complaining from the touchline and his attitude did not improve after Chelsea went ahead again in the 62nd minute when Lampard's inswinging free-kick missed everyone and went straight in to bring up his century.
Joe Cole then added a deflected fourth in the 74th minute.
The north London derby finished honours even after Arsenal, so long the dominant force in this fixture, salvaged a point at White Hart Lane.
England international Ledley King put the home side ahead in the 17th minute when he headed home Michael Carrick's free-kick.
However, substitute Robert Pires equalised 13 minutes from time to earn a draw after goalkeeper Paul Robinson flapped at Dennis Bergkamp's free-kick.
Wigan's remarkable run continued as they extended their unbeaten stretch to eight Premiership matches with a 1-0 victory at home to Fulham.
Pascal Chimbonda scored his first goal for the club since a summer move from French side Bastia in the second minute of injury time.
Portsmouth produced a remarkable turnaround at Sunderland as they recovered from an early recovery to beat the Black Cats 4-1 with a contender for goal of the season.
There were reports before kick-off temperamental Frenchman Laurent Robert had walked out after being named on the bench - leaving Pompey with just four substitutes - but he reappeared for the second half to witness an incredible fightback.
Trailing to Dean Whitehead's fourth-minute penalty after Brian Priske had handled Andy Gray's header, Zvonimir Vukic equalised three minutes after half-time.
Pompey were gifted a goal when Alan Stubbs got in the way of keeper Kelvin Davis and Matt Taylor stabbed home the loose ball in the 59th minute and Taylor then let loose from three yards inside the Sunderland half to beat Davis with a remarkable goal.
Dario Silva converted Taylor's 74th-minute cross to make it 4-1 and send Sunderland to the bottom of the table.
Liverpool, who have struggled in the league, lifted their spirits with a 2-0 victory at home to West Ham. Xabi Alonso had some fortune with the opener as his drive from the edge of the penalty area took a deflection off Tomas Repka's head in the 18th minute.
Sami Hyypia had his close-range volley cleared off the line by Repka after a 56th-minute corner but substitute Bolo Zenden made the points safe with his first goal for the club eight minutes from time.
Everton climbed off the bottom after an error from Birmingham goalkeeper Maik Taylor handed them a 1-0 victory at St Andrews.
Two minutes from half-time Simon Davies unleashed a strike from long range and it bounced just in front of Taylor, who somehow allowed it to escape his grasp . Bolton recovered from a first-half mauling at Charlton to win 1-0 with a second half goal from Kevin Nolan. Darren Ambrose had a goal ruled out midway through the first half for offside and he also had a volley from a tight angle 12 yards out rebound off a post.
Bolton improved in the second half and Nolan scored the winner in the 72nd minute with a simple tap-in after Hidetoshi Nakata latched onto a rebound from goalkeeper Stephan Andersen.