The Gunners struck first through a menacing shot from Alexandre Lacazette in the 16th minute only to see Son Heung-min capitalize on a defensive error to level three minutes later.
With nine minutes left, Toby Alderweireld beat Arsenal keeper Emiliano Martinez to hand Spurs three points that moves them past their bitter rivals into eighth place in the Premier League.
Story of the game
After not registering a shot on target in a goalless draw at Bournemouth, Tottenham recorded one after just 16 seconds had elapsed, Lucas Moura forcing Martinez into a diving save. He then turned provider for Harry Kane, whose lob was met by the Gunners keeper.
Against the run of play, Arsenal were ahead. Kieran Tierney lost possession to Serge Aurier, whose first touch let him down and Granit Xhaka regained for the visitors and he fed Lacazette, who gave Hugo Lloris no chance with an absolute blazer.
The Arsenal back-line, heavily criticized this season, was at fault for the Tottenham leveller when Sead Kolasinac played a poor back pass to David Luiz that Son stole, charged into the area and clipped past Martinez. The Spaniard produced a magnificent save to keep out Ben Davies long-range shot on the half-hour mark.
The Gunners carried the play towards the end of the first half, Nicolas Pepe curling just wide of the far post, Pierre-Emerick Aubameyang just missing with a free-kick and Pepe forcing Lloris into a save from the edge of the area.
The visitors looked the likelier of the two sides to find a winner as the second half began. Hector Bellerin fired a shot that Moura blocked and Lacazette found Aubameyang, who beat Lloris, but not the post.
Spurs finally applied some pressure in the 71st minute when Kane found Davies' clearance and passed to Son eight yards away from goal, but Martinez came out to short-circuit the chance. Lloris then did brilliantly to deny Aubameyang's volley.
The winner came ten minutes later, Kane released down the left, Martinez doing well to only force a corner. The ensuing corner saw Son play in a lovely cross that Alderweireld headed past the Gunners keeper.
Kane nearly had Tottenham's third, Martinez denying him and Giovani Lo Celso sending the rebound over the bar. The final nine minutes saw little action either way as Spurs saw out a much-needed victory to keep their Europa League hopes alive.
Man of the match: Son Heung-min
He provided an immediate response after Lacazette's opener, had the assist on Alderweireld's header and nearly another late on. In a derby with so much at stake, that's as good as it gets.
Tottenham still have issues at right-back
Despite the victory, Aurier gave away possession more than once and his initial error led to Arsenal's goal with Spurs carrying the early play. He was booked for a silly challenge on Lacazette and was slow in closing down Aubameyang when the Frenchman hit the woodwork. The only reason Jose Mourinho doesn't make a change is because he has no one else at the position.
Arsenal have given away too many games like this
Today was the 12th time Mikel Arteta's side have lost from a winning position with only West Ham United dropping more points (24) than the Gunners' 21. For the third time in the last six matches, Arsenal frittered away an early advantage, further exposing an already frail defence. With a backline that is as leaky as theirs, it should come as no surprise results like these keep happening.