In a clash that didn't come alive until the second half, the in-form England striker saw his effort beaten away by Tim Howard to give the Toffees a much-needed point.
Spurs had looked on course to move into the top three after racing into the lead shortly after the re-start.
Aaron Lennon caused Everton concerns with the quality of his crosses during the first half, but time and time again no-one could pull the trigger on the ammunition he provided.
However, the second half was less than two minutes old when the visitors broke the deadlock.
Lennon showed trademark pace to beat his man and Defoe timed his run to perfection, steering the precision delivery past Howard for his 12th goal of the season.
Defoe then turned provider with a cute lay-off to Peter Crouch, who muscled past his markers, but was denied by the fingertips of Howard.
However, within minutes Spurs had doubled their advantage. Everton manager David Moyes will be furious with some half-hearted marking, as Michael Dawson caught Lucas Neill napping to head home Niko Kranjcar's well-flighted corner.
Gareth Bale fizzed a free-kick inches wide as Spurs, now brimming with confidence, surged forward, but Everton stormed back with two goals in eight minutes.
First the impressive Seamus Coleman ghosted past Bale before delivering a cross that Louis Saha stabbed home from close range.
Saha then saw a spectacular overhead kick fly fractions wide, before Tim Cahill celebrated his 30th birthday with a 86th minute equaliser.
But still the drama wasn't over and when Wilson Palacios was barged over by Tony Hibbert, it appeared as though the visitors would still take all the points.
However, Defoe scuffed his spot-kick and a gleeful Howard saved with his legs to ensure that his side secured a hard-won share of the spoils.