Arsenal 2 Spurs 1: Substitute Nicklas Bendtner headed his first Premier League goal moments after Tottenham captain Robbie Keane saw Manuel Almunia save his penalty to ensure Arsenal stay top of the table for Christmas and condemn Spurs to yet another north London derby defeat.
Emanuel Adebayor gave the homeside the lead after a rather lacklustre first half from the pacesetters, but their opponents were never out of touch and got themselves back on level terms thanks to a thundereous finish from striker Dimitar Berbatov after Keane's backheel gave him an opening.
The Bulgarian was then taken down in the box by Kolo Toure minutes later and the Republic of Ireland captain stepped up to give his side the lead. Unfortunately for him and Juande Ramos's side, Almunia was equal to it and dived low to his right to keep maintain parity.
Insult was added to injury 14 minutes from time when Bendtner rose highest in the box to expertly convert a Cesc Fabregas corner. Spurs have now gone eight years without a win over Arsene Wenger's side.
Ramos asked his makeshift team to contain the league leaders and hit them on the break. Such is the injury crisis at White Hart Lane, Jamie O'Hara was given his first start. The 21-year-old was on the books at Arsenal as a trainee before joining Spurs and he was on loan at Millwall earlier in the season.
He, Steed Malbranque and Kevin-Prince Boateng fizzed around the midfield looking to break up Arsenal attacks - and it initially worked as the first half saw only half chances.
The Gunners had their first sight of goal in the second minute when Mathieu Flamini hooked a volley that went just the wrong side of the angle of post and crossbar. Toure also got a header on target from a Fabregas free-kick - but neither of the early chances troubled Paul Robinson.
Spurs' early threat came from Aaron Lennon on the right wing. He curled in a cross that Bacary Sagna needed to head clear as Keane looked to pounce.
A promising run for Lennon was halted by referee Rob Styles failing to play advantage when the England winger was fouled but remained on his feet. Lennon and Gael Clichy's battle of pace was one of the more interesting match-ups in a first half hour where chances proved difficult to come by.
Robinson was finally forced into a save, at his near post from Emmanuel Eboue, who had recovered from knee and ankle problems.
Gunners skipper William Gallas picked up a yellow card for a foul on Berbatov but the striker wasted the free-kick, with Almunia saving easily. Boateng then curled an effort just over the bar when Lennon laid the ball to him on the edge of the penalty area.
After looking short on ideas in the first half, Arsenal were quickly into gear after the restart and opened the scoring in the 48th minute.
Tomas Rosicky fed Fabregas on the edge of the penalty area and the Spaniard backheeled to Adebayor. The Togo striker curled the ball around Robinson for his sixth goal against Spurs in just over a year.
Fabregas then tried his luck from long-range as the atmosphere intensified. Boateng took his frustration out on Alexander Hleb from behind and was replaced by Tom Huddlestone on the hour mark.
Keane then smashed against the crossbar from point-blank range after Lennon had lofted a cross to the far post - but the equaliser came a minute later in the 66th minute.
Keane held the ball up on the touchline before backheeling to Berbatov. The Bulgaria striker took a touch and squeezed his shot through Toure and Flamini and inside the near post.
Then came Keane's chance to put Spurs ahead after Berbatov was tripped by Toure. Almunia dived the right way and got enough on the ball for it to go to safety.
Wenger responded by bringing on Bendtner for Eboue in the 74th minute and his goal came seconds later when he rose to head Fabregas' corner home.
Late substitute Adel Taarabt looked unlucky not to earn Spurs a second penalty late on and Arsenal held on to extend their lead at the top.