Didier Drogba's late long-range volley clinched three points for Chelsea following a thrilling encounter at Goodison Park.
Mikel Arteta's first-half penalty put Everton ahead but Chelsea levelled when Michael Ballack's free-kick hit the post and deflected in off the back of Toffees goalkeeper Tim Howard.
Joseph Yobo then headed Everton back in front. However, Frank Lampard equalised with a looping strike and Drogba hit an 87th-minute winner for the visitors.
Victory left Chelsea in second place on 42 points, just two points behind league leaders Manchester United. Everton stayed on 24 points in 10th place.
Santi Cazorla’s hat-trick helped Arsenal to triumph 5-2 at Reading and secure a second successive league win.
Lukas Podolski and Theo Walcott were also on target, scoring the Gunners’ first and fifth goals, while Reading showed their fighting spirit as Adam Le Fondre and Jimmy Kebe struck five minutes apart in the second half.
Arsenal moved up to fifth place on 27 points, while Reading stayed at the bottom of the table on nine points, six from safety.