Steven Pienaar had given the home side a second-minute lead but Lampard found the equaliser just before the interval and was on the spot to net the winner with 20 minutes to go.
Everton had started the game feverishly as they pressed Chelsea high up the field and had their reward after just 63 seconds.
Pienaar played in Phil Jagielka down the right flank and when Victor Anichebe headed the subsequent cross against the bar, there was the South African again to fire the rebound past Petr Cech.
The Toffees nearly doubled their lead shortly afterwards when Nikica Jelavic curled a free-kick against the post as David Moyes’ side continued to swarm all over the visitors.
Cech also saved brilliantly from Jelavic later in the half but by that point Chelsea were edging their way back into the contest and found an equaliser just before the break.
Fernando Torres found Ramires on the right and his left-footed cross reached Lampard just outside the six-yard box with the 34-year-old measuring his header into the bottom corner of the net.
If Chelsea were fortunate to go in level at the interval then they were even luckier when Jelavic saw a brilliant header come back off the crossbar in the second half.
But Rafa Benitez’s side showed plenty of resolve and took the lead after 72 minutes – thanks to that man Lampard.
Juan Mata started the move and looked to have finished it when he drilled a shot on goal but Howard saved well only for Lampard to shovel home the winning goal from close range.
Everton threw everything at Chelsea in the latter stages in a desperate attempt to maintain their unbeaten home record but the visitors defended brilliantly to see out the win and go third.