Defeat for Spurs handed Chelsea a glimmer of hope in the fight for Champions League places after they came from 2-0 down to beat Southampton 3-2, but Liverpool strengthened their position in the top four as Mohamed Salah scored his 40th goal of the season in a routine 3-0 win over Bournemouth.
City blew the chance to seal the title by losing 3-2 at home to local rivals Manchester United last weekend, and were then dumped out the Champions League at the quarter-final stage 5-1 on aggregate by Liverpool in midweek.
However, Pep Guardiola's men showed why they have been compared with the all-time great teams of the Premier League era by inflicting Spurs' first league defeat since the sides last met at the Etihad in December.
"I said after 10-15 minutes we will be champions," said Guardiola of his side's fast start. "After what happened and how the people reacted, these guys are fantastic. They are awesome, they are incredible.
"What they lived in the last week was so unfair but they deserve (to win the league) and now we have a match ball. We had the first one against United, we could not do it and now we have another one against Swansea with our 60,000 people and we are going to try to be champion."
City host Swansea next Sunday but could even be confirmed as champions as early as Sunday if United lose at home to rock bottom West Brom.