Match ends, Manchester City 1, Tottenham Hotspur 2.
Tottenham moved to within two points of Premier League leaders Leicester as Christian Eriksen struck a late winner at fourth-placed Manchester City.
Visiting striker Harry Kane fired home from the spot in the second half after Raheem Sterling was controversially penalised for handball.
Yaya Toure struck a 20-yard free-kick against the bar before teenage substitute Kelechi Iheanacho levelled.
But Spurs earned a fifth league win in a row as Eriksen slotted in.
The Dane was played through on goal by substitute Erik Lamela to coolly finish, after Iheanacho had shot high into the net to restore parity.
Arsenal's win over leaders Leicester earlier in the day temporarily moved the Gunners into second place but Spurs have gone back ahead of their north London rivals on goal difference.
Is this the end for City?
Manuel Pellegrini's side won 21 points from their opening nine league games but have claimed just 26 points from their subsequent 17 matches.
They are six points off the Premier League summit after losing two consecutive home league matches for the first time since December 2008, and have lost ground to Arsenal and Tottenham, who are in third and second respectively.
City know the gap is not insurmountable, having been eight points behind Manchester United in April 2012 before snatching the Premier League title on the final day.
But they are 11 points worse off than Leicester and Tottenham during this 17-game period and need to find form quickly.
City will point towards the penalty as a key moment against a Tottenham side who have not won a top-flight title since 1961.
Both sides struggled to create chances in a tight encounter but, despite Tottenham having more of the ball, the hosts will feel they deserved at least a point as David Silva scooped over late on.
Was it a penalty?
Manchester City were absolutely furious at Mark Clattenburg's decision to penalise Sterling and you could understand why.
The England forward had turned his back as he jumped to block Danny Rose's cross, with the ball hitting him as he was looking the other way.
Former Wales and Leicester midfielder Robbie Savage told BBC Radio 5 live: "I think that is harsh, very, very harsh. It has hit him on the elbow."
However, in a match of few chances, City should ask questions defensively as they levelled before leaving themselves wide open seven minutes from time for Eriksen, on his 24th birthday, to win the match.
Spoilt for choice, Roy?
England manager Roy Hodgson was at the Etihad and would have welcomed the earlier news of scoring returns for Arsenal's Danny Welbeck and Liverpool's Daniel Sturridge.
In the first two games of the day, six of the nine goals scored had been netted by English players and his options before Euro 2016 were further demonstrated in Manchester as Kane scored his 16th Premier League goal of the season.
The 11.9km covered by England's 19-year-old midfielder Dele Alli was more than all but one of Manchester City's side, as he continues to impress, while compatriot Eric Dier, 22, was solid in the holding midfield role.
Another England forward, Sterling, was quiet for the most part for City, although he did almost break the deadlock with a volley that was bravely blocked by Rose early on.
Man of the match: Eric Dier (Tottenham Hotspur)
Man City boss Manuel Pellegrini told BBC Sport: "It was a penalty that referee Mark Clattenburg wanted to sign for and he gave the sign. It was absolutely the wrong decision, it hit the back of Raheem Sterling then his elbow. Sterling was not even seeing the ball. It was the same referee in the first game where there were two clear goals in offside and we lost 4-1.
"It was the key moment that decided thee game; before that they did not shoot towards our goal and did not have any chances. We took the risks, the spirit of the team was good but it was not enough."
Tottenham boss Mauricio Pochettino told BBC Sport: "I think that it was a game that was very important. You could feel it was not a normal game and a real test for us; for that we feel very pleased for the players.
"The mentality was good and a perfect performance against a team with a lot of quality players who are top class. Full credit to my players.
"From my point of view, I did not see the penalty incident. Sometimes in football it happens, it goes for you and against you in the season."
The stats you need to know
- Manchester City have won just one of their 10 Premier League games against sides currently in the top eight this season (D3 L6)
- Tottenham ended a run of five successive league defeats at Etihad Stadium, earning their first victory there since May 2010
- No player has scored more goals as a substitute in the Premier League this season than Kelechi Iheanacho (three, level with Steven Naismith, Olivier Giroud and Christian Benteke)
- Since the start of last season, only Sergio Aguero (40) has scored more Premier League goals than Kane (37)
- City have lost four home games in the Premier League this season, more than they had in Manuel Pellegrini's first two seasons combined (three)
- Tottenham have won five consecutive Premier League games for the first time since a run of six in December 2011
- Mauricio Pochettino's side are unbeaten in 12 away league games - their longest run since a streak of 16 from November 1984 to August 1985
Manchester City travel to Chelsea in the FA Cup fifth round next Sunday (16:00 GMT), before a last 16 Champions League tie at Dynamo Kiev the following Wednesday (19:45 GMT). Tottenham travel to Fiorentina in the last 32 of the Europa League on Thursday (18:00 GMT), before entertaining Crystal Palace in the FA Cup fifth round on Sunday (15:00 GMT).
- 4KompanyBooked at 46mins
- 22ClichySubstituted forKolarovat 75'minutes
- 6RegesSubstituted forIheanachoat 66'minutes
- 42Y Touré
- 76Garcia Alonso
- 27WimmerBooked at 56mins
- 15DierBooked at 45mins
- 7Son Heung-MinSubstituted forCarrollat 72'minutesBooked at 76mins
- 20AlliSubstituted forLamelaat 81'minutes
- 10KaneSubstituted forChadliat 89'minutes
- Mark Clattenburg
- Shots on Target
Second Half ends, Manchester City 1, Tottenham Hotspur 2.
Delay over. They are ready to continue.
Delay in match Hugo Lloris (Tottenham Hotspur) because of an injury.
Attempt missed. David Silva (Manchester City) left footed shot from very close range is too high.
Attempt blocked. Raheem Sterling (Manchester City) right footed shot from the left side of the box is blocked. Assisted by Nicolás Otamendi.
Attempt missed. Vincent Kompany (Manchester City) header from the centre of the box misses to the right. Assisted by Aleksandar Kolarov with a cross following a corner.
Corner, Manchester City. Conceded by Tom Carroll.
Substitution, Tottenham Hotspur. Nacer Chadli replaces Harry Kane.
Foul by Erik Lamela (Tottenham Hotspur).
Aleksandar Kolarov (Manchester City) wins a free kick on the left wing.
Attempt missed. Harry Kane (Tottenham Hotspur) right footed shot from outside the box is close, but misses to the left.
Attempt missed. Yaya Touré (Manchester City) right footed shot from more than 35 yards misses to the left.
Goal! Manchester City 1, Tottenham Hotspur 2. Christian Eriksen (Tottenham Hotspur) right footed shot from the centre of the box to the bottom right corner. Assisted by Erik Lamela with a through ball.
Offside, Manchester City. Raheem Sterling tries a through ball, but Sergio Agüero is caught offside.
Corner, Manchester City. Conceded by Danny Rose.
Attempt blocked. Sergio Agüero (Manchester City) right footed shot from the centre of the box is blocked. Assisted by Kelechi Iheanacho with a headed pass.
Substitution, Tottenham Hotspur. Erik Lamela replaces Dele Alli.
Toby Alderweireld (Tottenham Hotspur) wins a free kick in the defensive half.
Dangerous play by Kelechi Iheanacho (Manchester City).