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.
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 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.
In the other news read How Arsenal beat Leicester in their home
Like Hart, City skipper Vincent Kompany was also missing, while midfielder Toure injured a hamstring to add to Pellegrini’s problems.