The South Korean, playing as the main striker ahead of Bryan Gil, Dejan Kulusevski and Brennan Johnson, fired the visitors in front after six minutes at the Etihad.
Son still had a lot to do as he raced onto a pass from Kulusevski, but sprinted away to beat Ederson for the opening goal and give Ange Postecoglou's side the lead.
But Spurs' joy was short-lived as the South Korean diverted a City free-kick past his own goalkeeper Guglielmo Vicario at the other end just three minutes later.
Jeremy Doku blasted a shot against the crossbar later on as City began to take control and the champions took the lead through Phil Foden after 31 minutes after a neat exchange of passes in the area.
City then hit the woodwork again through Julian Alvarez as Pep Guardiola's side came close to doubling their advantage.
Spurs came into this match on the back of three consecutive defeats, having previously topped the table in an impressive start to the season.
Postecoglou is without a number of key players, with James Maddison, Micky van de Ven and Rodrigo Bentancur all sidelined.
Cristian Romero also missed the trip to Manchester due to suspension following his recent red card against Chelsea.
More Tottenham stories
Harry Kane on verge of shocking Bayern Munich, by completing 'special clause' months earlier than expected.
Best Black Friday football deals 2023 - FourFourTwo are here to help you find the best products, for lower prices.
Thank you for reading 5 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1