Match ends, Tottenham Hotspur 4, Manchester City 1.
Manchester City lost a second league game in a row, with Harry Kane scoring his first club goal this season as Tottenham came from 1-0 down to win.
Kevin de Bruyne angled in an effort to put leaders City in front before Eric Dier equalised with a 25-yard shot.
Toby Alderweireld then nodded Spurs in front from an Erik Lamela free-kick.
Kane side-footed in when team-mate Christian Eriksen's free-kick came back off the woodwork before Lamela slid home as the visitors chased the game.
Kane is finally able
Kane scored four goals in his first eight games for Spurs last season but had gone 12 hours without scoring for his club when the clock ticked past 33 minutes here.
He looked to be in for another frustrating game when, having already shot wide, he was denied by keeper Willy Caballero after digging the ball out to get another effort away with his left foot.
But just after the hour mark, he was rewarded for his persistence to end a run of 748 minutes without a goal for his club.
"There's been a lot of talk but I'm a confident man and have faith in my ability," Kane told BT Sport. "I'm delighted. It was a very good victory against a team who were top of the table."
Decisions, decision, decisions
Both sides had cause for complaint as the assistant referees failed to spot players in offside positions for three of the goals at White Hart Lane.
De Bruyne was marginally ahead of play when he was set up by Yaya Toure before putting City in front, though it was a close call.
The decision for Tottenham's equaliser was more clear cut. Kyle Walker was clearly offside as he ran onto the ball down the left, before Son Heung-min had a shot saved at point-blank range by Willy Caballero. De Bruyne could only clear to Dier, who scored. City centre-back Martin Demichelis was booked for his complaints.
England striker Kane then appeared to be in an offside position before latching onto the loose ball for his goal.
What's gone wrong for City?
City had won five league games in succession before losing to Juventus in their opening Champions League match of the season 11 days ago.
Defeat by the Italian champions appears to have knocked them out of their stride, and Manuel Pellegrini's side have now lost three of their past four matches.
Injuries to key players have not helped, with goalkeeper Joe Hart on the bench at Spurs because of a back injury which meant he only trained for one day before the game.
Caballero, his deputy, was caught out when he came for Lamela's free-kick and allowed Alderweireld to put the hosts 2-1 up.
Like Hart, City skipper Vincent Kompany was also missing, while midfielder Toure injured a hamstring to add to Pellegrini's problems.
Man of the match - Erik Lamela
Tottenham manager Mauricio Pochettino: "It is never easy to play against a club like Manchester City as they have so many great players. I congratulate my players because they were brilliant. We fully deserved the victory.
"We are all very happy for Harry Kane. As a striker, you want to score. It is very important for the team and him. We believe in his talent and quality."
Manchester City manager Manuel Pellegrini: "Two of their goals were offside. I think we didn't play well in second half. The Premier League is always very difficult.
"We must continue working and playing like we did in the opening 45 minutes."
Former England midfielder Jermaine Jenas on Final Score: "Spurs showed real character. Harry Kane has got his goal and they've taken their chances. After the derby defeat by Arsenal in midweek, this is exactly what they needed."
The stats you need to know
- Tottenham's starting XI against City had an average age of 24 years and 40 days - the youngest in the Premier League this season. The previous youngest side was also fielded by Spurs - against Crystal Palace last weekend (24 years 118 days).
- De Bruyne has scored three goals in his past three games for City - from just four shots on target.
- Toure has four assists in seven league appearances this season. He had only one in 29 games last season.
- Tottenham scored four goals in a league game against Manchester City for the first time since September 1962, when they won 4-2.
City will aim to get their Champions League campaign back on track when they visit Borussia Monchengladbach on Wednesday. Spurs are next in action on Thursday, when they travel to Monaco in the Europa League.
- 15DierBooked at 59mins
- 20AlliBooked at 88mins
- 11LamelaBooked at 56minsSubstituted forCarrollat 87'minutes
- 7Son Heung-MinSubstituted forN'Jieat 77'minutes
- 23EriksenBooked at 65minsSubstituted forChadliat 68'minutes
- 10KaneBooked at 90mins
- 26DemichelisBooked at 45mins
- 25FernandinhoSubstituted forNasriat 69'minutes
- 17De Bruyne
- 42Y TouréSubstituted forNavasat 56'minutes
- 10AgüeroSubstituted forRobertsat 86'minutes
- Mark Clattenburg
- Shots on Target
Second Half ends, Tottenham Hotspur 4, Manchester City 1.
Harry Kane (Tottenham Hotspur) is shown the yellow card for a bad foul.
Nicolás Otamendi (Manchester City) wins a free kick on the left wing.
Foul by Harry Kane (Tottenham Hotspur).
Offside, Manchester City. Samir Nasri tries a through ball, but Aleksandar Kolarov is caught offside.
Bacary Sagna (Manchester City) wins a free kick in the defensive half.
Foul by Tom Carroll (Tottenham Hotspur).
Attempt blocked. Clinton N'Jie (Tottenham Hotspur) right footed shot from the left side of the box is blocked. Assisted by Nacer Chadli.
Nicolás Otamendi (Manchester City) wins a free kick in the defensive half.
Foul by Clinton N'Jie (Tottenham Hotspur).
Corner, Manchester City. Conceded by Ben Davies.
Attempt saved. Kevin De Bruyne (Manchester City) right footed shot from outside the box is saved in the top right corner.
Dele Alli (Tottenham Hotspur) is shown the yellow card for a bad foul.
Patrick Roberts (Manchester City) wins a free kick in the attacking half.
Foul by Dele Alli (Tottenham Hotspur).
Substitution, Tottenham Hotspur. Tom Carroll replaces Erik Lamela.
Substitution, Manchester City. Patrick Roberts replaces Sergio Agüero.
Foul by Jesús Navas (Manchester City).
Dele Alli (Tottenham Hotspur) wins a free kick in the defensive half.