Son’s early stabbed finish gave Tottenham the lead early on, after a sumptuous through-ball from French midfielder Tanguy Ndombele.
Despite constant Manchester City pressure including a disallowed goal from Aymeric Laporte, it was Tottenham who doubled its lead, with Lo Celso scoring just moments after coming onto the pitch.
The win moves Spurs above London rivals Chelsea, who beat Newcastle earlier on Saturday, at the top of the Premier League table.
“It’s a season where you’ve got to do all it takes to win games. It’s going to be an up and down year, you’ve seen that already. Part of my job is to work hard for the team, win tackles, of course score goals and getting assists but I enjoy defending and working hard.
“The feeling now after the game once you’ve put in a great shift, there’s no better feeling when you win. We’ll enjoy it but we know we’ve got a long way to go.”
Like they have done many times before as the managers of Barcelona and Real Madrid, Saturday’s clash offered the opportunity to Pep Guardiola and Jose Mourinho to renew hostilities.
In the latest edition of their rivalry, it was Mourinho’s Tottenham side who started the fastest.
And it was the red-hot Son who opened the deadlock inside the first 10 minutes, slipping his shot under the out-rushing Ederson after connecting with a quickly taken free kick.
However, despite sitting back after scoring, it was Tottenham who initially looked like it might double its lead.
Following some exquisite link up play between its attackers, Kane bundled the ball home, only for the offside flag to rightly go up.
And after going behind and dominating possession, Manchester City eventually began creating chances.
With the ever-delightful Kevin De Bruyne pulling the strings, Spurs’ defenders put in last-ditch challenges and blocks to prevent the 2018-19 Premier League champions from leveling the scores.
After 29 minutes, Manchester City had the ball in the back of the net thanks to Laporte, only for the video assistant referee (VAR) to disallow the goal because of a handball by Gabriel Jesus in the build-up.
Despite creating all the openings and meaningful chances before halftime, Manchester City couldn’t find an equalizer.
After the break, it was more of the same, with De Bruyne trying his luck from distance to no avail.
However, against the run of play and just 35 seconds after coming on as a substitute, Lo Celso doubled Spurs’ lead, running onto a Kane through ball to poke it under Ederson.
Manchester City huffed and puffed for the final 25 minutes but couldn’t find the breakthrough. The result means it remains firmly entrenched in the Premier League’s mid table.
“We had our chances, but we couldn’t score and they made two or three chances on the counter attack and we lost the game.
“We knew before the game that you cannot give them the first goal. We had more chances and them but we lost. Mourinho’s teams are like this, you make a mistake and they punish you on the counter attack.”
Both sides will be in European action during the week, as Tottenham face Ludogorets Razgrad on Thursday while Manchester City travel to Greece to play Olympiakos on Wednesday.