But a second-half revival, sparked by two goals in three minutes from Julian Alvarez and Erling Haaland, led to Pep Guardiola's team taking control before Riyad Mahrez took the game away from Spurs with two outstanding goals.
1. Man City and Haaland are back on track after recent blips
Manchester City sent an emphatic warning to Premier League leaders Arsenal that they are ready to fight all the way for the title by bouncing back from two straight defeats to beat Spurs. And City, who were beaten by Manchester United in league play and Southampton in the Carabao Cup going into this game, also saw Erling Haaland end his three-game scoring drought in the 4-2 win.
While the end result sees City move to within five points of Arsenal, early on it looked to be heading to an embarrassment for City manager Pep Guardiola following his decision to start with Kevin De Bruyne, Kyle Walker and Bernardo Silva on the substitutes' bench. Tottenham scored twice just before halftime, and fans made their displeasure clear.
But City have form for winning games when trailing 2-0 at half-time, though, having done so against Crystal Palace and Aston Villa last year, and City did so again to inflict another dent in Tottenham's hopes of finishing in the top four all while underlining their own outstanding quality. Goals from Julian Alvarez and Haaland levelled the scores before Riyad Mahrez scored twice to secure the points and move City closer to Arsenal.
That sets up a big weekend in the title race when Arsenal face third-place United at the Emirates on Sunday after City host Wolves at Etihad earlier in the day. If City beat Wolves, they can move to within two points of Arsenal before Mikel Arteta's team take the field.
2. Spurs and Kane get a harsh reality check
As Riyad Mahrez raced away to celebrate his goal that gave Manchester City a 3-2 lead against Spurs, the television camera focused on Harry Kane in the centre-circle, shaking his head in frustration after seeing his side throw away a 2-0 lead to fall behind.
Kane has given Spurs incredible service over the years and he needs just two more goals to to surpass the legendary Jimmy Greaves as the club's all-time leading goal scorer. Greaves is on 266, with Kane taking his tally 265 with the winning in the FA Cup third round win against Portsmouth earlier this month.
But while Kane will undoubtedly claim that record as his own in the weeks ahead, what else can Spurs offer him in terms of success and memories for when his playing days are over?
Mahrez's goal might just have been the moment when the England captain realised that Spurs will always be the kind of team that promises much but rarely delivers. At 29, Kane has still to win his first trophy as a professional and it won't happen at Tottenham if they continue to play as they did at City.
Kane didn't score at the Etihad, but he was a constant threat and his tenacity led to Emerson Royal's goal, which put Spurs 2-0 up at half-time.
A player of Kane's quality and stature deserves more than to see his good work come to nothing and, with his contract at Spurs due to expire in Jun 2024, this summer is a fork in the road for the forward.
Too many more games like this and it is hard to imagine that Kane won't take the road that leads him away from Tottenham and to a club that expects to win trophies rather than merely wants to.
3. Fair-weather fans at Etihad hesitate to back Man City
Manchester City were booed at half-time by their own supporters. For a team that has won four of the last five Premier League titles, that kind of reaction smacks of a sense of entitlement among the City fans.
But while the City players clearly under-performed against Spurs in the first-half, the fans are also expected to play their part and they don't do that very often at the Etihad. It required Julian Alvarez's goal early in the second-half to bring the crowd to life, but City will need the fans to get behind them much earlier if they are to win the title.
Guardiola has complained about a lack of backing from the supporters in the past and the Etihad certainly lacks the noise and passion of Anfield, Old Trafford or St James' Park.
And there were also plenty of empty seats inside the ground which, considering Guardiola has built a team of all stars including Erling Haaland, is incredible.
It is rare, if not unthinkable, for a Big Six team to fail to sell out their own ground for a home game, but even more so when they win as regularly as City.
And on the day when City topped the Deloitte Money League as the world's highest-revenue generating club, it makes their financial success even more remarkable when seats are left unfilled for a game against Big Six rival.
Maybe the City fans have grown too accustomed to comfortable victories and have lost the ability to roll with the punches when it doesn't go their way. But they have short memories if they think they can boo a team that has won so much in recent seasons.
Best and worst performers
Best: Riyad Mahrez, Manchester City
Scored a stunning goal to give City the lead and then made the game safe with a second in the 90th minute. It was an all-round top-class performance by the former Leicester winger. A classic Pep Guardiola player.
Best: Nathan Ake, Manchester City
On a bad night for City defensively, Ake gave a composed performance and it could have been much worse but for the Netherlands international.
Best: Dejan Kulusevski, Tottenham Hotspur
The Spurs winger had a poor game in the defeat against Arsenal at the weekend, but he showed signs of getting back to his best in this game following a lengthy injury lay-off this season.
Worst: Ederson, Manchester City
Way too careless for Tottenham's first goal, when his risky pass to Rodri led to Kulusevski scoring. Could've done better with the second goal, too.
Worst: Rodri, Manchester City
Lost a tackle with Harry Kane that led directly to Tottenham's second goal and also lucky to escape a booking for a bad foul on Hojbjerg.
Worst: Hugo Lloris, Tottenham Hotspur
The Spurs keeper is having a bad spell and he will have nightmares about the amount of space he left exposed at the near post for Mahrez's goal.
Highlights and notable moments
You want highlights and notable moments? Oh, this match had plenty.
The game had been steadily building in intensity, and Tottenham struck first by pouncing on a poor back-pass, which Dejan Kulusevski buried in the 44th minute.
Minutes later, just before the half-time whistle, Tottenham doubled their lead on an Emerson Royal strike.
Man City fans were clearly displeased with their side's display as they booed while the players returned to the locker room for the half-time break.
But then Man City came out with purpose and a killer instinct that they lacked in the first 45 minutes -- Julian Alvarez pulled one back in the 51st minute, and then Erling Haaland did the same two minutes after that to level the score.
Riyad Mahrez added a third for Manchester City in the 63rd minute, completing a comeback that involved City scoring three goals in a mere 12 minutes after being down 2-0.
He didn't stop there: Mahrez added another in the 90th minute to make it 4-2.
After the match: What the managers and players said
Manchester City manager Pep Guardiola: "I cannot deny how happy we are, but we are far away from the team that we were, not in terms of play because we play good enough but there are many things, in terms of competitiveness, in terms of what we have to do. In many, many things we are far away. ... 'We play because our manager told me how to play, I had to do this,' but there's nothing from the stomach, the gut. Today we were lucky, but if we don't change sooner or later we are going to throw points."
Guardiola on what was missing from Man City's players (and the fans): "Passion, fire, desire and to win from minute one -- it's similar, our spectators, our fans. They were silent, 45 minutes. [Reporter interjects that fans booed at halftime.] They booed because we were losing but not because we played bad. We played good -- we had more chances. ... We were better. They booed because we were losing. Maybe it's the same like our team -- maybe we were so comfortable winning four Premier Leagues in five years, and that's why we, you know -- and then after we scored a goal, they react, but it's not the point."
Guardiola on how he gets the team's fire back: "It's my duty. My job. I want my fans back. I want my fans here -- not my away fans, my away fans is the best. But my fans here, for the ones that support every corner and every action and support it."
Manchester City winger Jack Grealish on what Guardiola had to say at half-time: "Yeah, it weren't obviously the best dressing room at half-time. It was silent for a little while at the start, but the manager spoke to us, gave us some encouragement, and I thought we were brilliant in the second half."
Key stats (provided by ESPN Stats & Information)
Man City are now unbeaten in five straight games in which they trailed by two or more goals, which is the best such streak by any team in Premier League history. They have three wins and two draws.
With the win, Man City have now won the last three home Premier League games in which they trailed by multiple goals. The other two games were 4-2 vs. Crystal Palace on Aug. 27, 2022, and 3-2 vs. Aston Villa on May 22, 2022.
Manchester City become the first Premier League club to win multiple games by more than two goals in which they trailed at half-time by more than two goals in the same season.
City have tied Manchester United (March-April 2018) and Leeds United (November 1997) as the only three teams in Premier League history to win consecutive Premier League games in which they trailed by multiple goals.
Entering this game, Tottenham had the third-longest active streak of avoiding defeat when leading by two in Premier League matches. The only teams with longer active streaks were Arsenal (180 games) and Chelsea (348 games, last such loss Oct. 23, 1999).
Erling Haaland snapped a season-high three-game scoreless drought in all competitions. He now has 22 goals in the Premier League this season, 12 shy of tying the league record of 34.
Dejan Kulusevski hadn't scored a goal for Tottenham since their opening Premier League match of the season against Southampton. Kulusevski has scored in both of his appearances vs. Man City, the other coming in February 2022.
Manchester City: The Citizens have a quick turnaround but get to stay home as they host Wolves on Sunday, Jan. 22 at 9 a.m. ET. Then, they shift focus to the FA Cup when they host Arsenal on Friday, Jan. 27 (watch live on ESPN+ at 3 p.m. ET).
Tottenham Hotspur: Spurs travel to Fulham for more Premier League action on Monday, Jan. 23 at 3 p.m. ET. Then, they are on the road again for the FA Cup, where they will face Preston North End on Saturday, Jan. 28 (watch live on ESPN+ at 1 p.m. ET).