Jermaine Jenas struck a minute from time to give Spurs their first Premiership away win since 17 December and dent Everton's European ambitions.
Dimitar Berbatov celebrates his opener with Robbie Keane
Dimitar Berbatov's cool finish from Aaron Lennon's cross 10 minutes before half-time gave Spurs a deserved lead.
Mikel Arteta levelled in controversial fashion after 42 minutes, scoring from a free-kick that had originally been awarded to Spurs.
But Spurs' greater threat brought the winner from Jenas in the dying seconds.
606 DEBATE: Give your thoughts on the match
Everton were without Andrew Johnson, who was ruled out with a knee injury, while Spurs paired FA Cup heroes Berbatov and Robbie Keane up front.
Spurs had the better of the early exchanges, with Victor Anichebe and the recalled James Beattie ineffective.
Everton captain Phil Neville was booked for a foul on Berbatov after 16 minutes, and Pascal Chimbonda almost opened the scoring when he headed Jenas' resulting free-kick into the side-netting.
Leon Osman, back after suspension, brought a fine save from Paul Robinson with a low drive - but it was Spurs who went ahead after 35 minutes.
Osman conceded possession in midfield, and Lennon raced clear to find Berbatov at the far post, who swept an impressive finish high past Tim Howard.
Everton equalised in highly-debatable circumstances three minutes before half-time, with referee Uriah Rennie a central figure.
Rennie's assistant clearly flagged for a foul by Anichebe on Dawson - but the official not only booked the Spurs defender, he then awarded a free-kick despite lengthy consultation with the linesman.
Almost inevitably, Arteta stepped up and curled a brilliant free-kick away from Robinson.
Everton, who had posed little threat, made a half-time change, with Gary Naysmith replacing Anichebe.
Robinson was in action after 51 minutes to deny Osman again as Everton looked to put Spurs under more pressure.
Berbatov was a languid but dangerous figure, and he brought a good save out of Howard as the game finally showed signs of life.
The Bulgarian was easily the most dangerous attacker on show, and he curled another shot narrowly off target with 10 minutes left.
Keane should have done better seconds later when he raced clear, but he blazed wastefully over the bar.
Everton boss David Moyes felt the full fury of Goodison Park with five minutes to go with a substitution that was greeted by a huge chorus of jeering - replacing impressive midfield man Manuel Fernandes with defender Tony Hibbert.
It was a negative move given that the game was still in the balance, and the home crowd made their feelings clear.
And matters were made worse for Moyes and Everton when Jenas curled a fine finish past Howard - sparking a furious reaction from the crowd.
Moyes was the target for further criticism when he then took off substitute Naysmith and belatedly threw on young striker James Vaughan - all to no avail.
Everton manager David Moyes:
"We didn't play well in the first half. Spurs were much better. We found it difficult to get close to them.
"We got back into it in with a great free-kick from Mikel Arteta and we improved in the second half.
"We set out with two boys up front but we didn't cause them enough problems."
Spurs manager Martin Jol:
"It is never easy to come to Everton and get a result, but we are back in business.
"Hopefully things can only get better for us. We are in the Uefa Cup and FA Cup and going up the league.
"I thought it was a great win. We had a break before the Fulham game and we looked good against Fulham and fresh again here.
"You could see we were going for the win in the last 10 minutes, and it was a great goal from Jermaine Jenas, who had fresh legs as well."
Everton: Howard, Neville, Yobo, Stubbs, Lescott, Osman, Carsley, Fernandes (Hibbert 85), Arteta, Anichebe (Naysmith 45), Beattie, Naysmith (Vaughan 90).
Subs Not Used: Wright, Anderson.
Booked: Anichebe, Neville.
Goals: Arteta 42.
Tottenham: Robinson, Chimbonda, Dawson, Gardner, Young-Pyo Lee, Lennon (Malbranque 80), Jenas, Zokora, Tainio, Keane, Berbatov.
Subs Not Used: Cerny, Stalteri, Ghaly, Defoe.
Goals: Berbatov 35, Jenas 89.
Ref: U Rennie (S Yorkshire).