The South Korea star made it five goals for the season - in fact, five in his last three away games - as we recovered from the disappointment of losing our opening match in the competition at Wembley a fortnight ago.
Erik Lamela sent Son clear in the 71st minute and he squeezed his finish through the advancing Igor Akinfeev.
It was no less than we deserved at Arena CSKA in Moscow as we controlled the game from start to finish and racked up another 22 attempts at goal (to the home side's eight).
Dele Alli came closest to breaking the deadlock in the first half when his rasper rattled the crossbar. Son, Lamela and Vincent Janssen all had half-chances before Son finally hit the net to grab maximum points.
Meanwhile, Monaco and Bayer Leverkusen drew 1-1 in France, so we've moved above the German side into second in Group E.
Below: Erik Lamela and Toby Alderweireld celebrate with Son
Mauricio Pochettino made two changes to the team that started at Middlesbrough on Saturday. Kieran Trippier made his first appearance in the Champions League in place of Kyle Walker, who was on the bench. Erik Lamela came in for Moussa Sissoko, who picked up a head injury at the Riverside. Georges-Kevin Nkoudou and Harry Winks later came off the bench for Champions League debuts. Harry Kane, Eric Dier, Mousa Dembele and Danny Rose stayed back at Hotspur Way to continue their rehabilitation from injury.
CHANCE: ERIKSEN SHOOTS OVER - 23mins
Both teams got into promising positions in attacking areas in the early stages without capitalising. Traore threatened on 17 minutes but was shepherded away from goal by Alderweireld and Eriksen had a shooting chance on 23 minutes that he fired well wide.
CHANCE: TOSIC FIRES WIDE - 31mins
Golovin got away down the left and his cross was headed away by Vertonghen to Tosic on the edge of the box. He had time to control and pick his spot, but angled his drive a yard wide.
CHANCE: EREMENKO DENIED BY LLORIS - 33mins
Clever play by Eremenko on CSKA's left, he did well initially to keep the ball in play, progressed to the left corner of the box, cut back onto his right foot and hit a low shot that Lloris had to get down to at his near post.
Below: Dele Alli on the ball
WOODWORK: ALLI DENIED BY THE CROSSBAR - 35mins
Eriksen and Son tried to weave their way through on the left side of the area, Eriksen was tackled but the ball ran to Alli, who smashed a drive that rattled the crossbar with Akinfeev beaten.
CHANCES BOTH ENDS - 51-59mins
Son was denied by Ignashevich's sliding block, Traore cut back for Tosic, whose effort was deflected over by Davies. Son curled just wide from the edge of the box and Janssen dragged wide from Davies' cross.
CLOSE: LAMELA INCHES AWAY - 68mins
We took a corner short, Traore looked poised to clear but lost control, Lamela pounced and his shot deflected off Wernbloom and drifted agonisingly wide with Akinfeev rooted to the spot.
Below: Son centre of attention after his winner in Moscow
GOAL: CSKA 0-1 SPURS - HEUNG-MIN SON - 71mins
At last! Our dominance was finally rewarded as Trippier picked out Lamela in space, right channel, he played Son through on goal and the South Korean made no mistake, finishing from 12 yards as Akinfeev advanced.
CHANCE: CSKA'S BEST YET - 85mins
A late scare as Natcho chipped a pass to Fernandes, right byline, he fizzed across goal but just too far in front of Traore and the ball ran out.
MAURICIO POCHETTINO SAID
"I am delighted. First of all I want to thank the fans who travelled here. The performance was good. The game was tough but we deserved it. We are in the race for the next round."
CSKA Moscow (4-2-3-1): Akinfeev (c); Fernandes, V Berezutski (A Berezutski 46), Ignashevich, Schennikov; Golovin, Wernbloom; Tosic (Natcho 72), Eremenko, Milanov; Traore. Substitutes (not used): Chepchugov (GK), Nababkin, Strandberg, Gordyuskenko.
Spurs (4-2-3-1): Lloris (c); Trippier, Alderweireld, Vertonghen, Davies; Wanyama, Alli (Winks 82) ; Lamela, Eriksen, Son; Janssen (Nkoudou 67). Substitutes (not used): Vorm, Walker, Wimmer, Carter-Vickers, Onomah.
Goals: Spurs - Son 71.
Yellow cards: CSKA - Eremenko 37. Spurs - Wanyama 12.
Referee: Antonio Mateu Lahoz (Spain).
Attendance: To follow...
Both teams return to domestic action this weekend. We have a huge game at home to Manchester City in the Premier League on Sunday (2.15pm) while CSKA travel to Rostov in the Russian Premier League. We'll return to Champions League action on October 18 when we travel to Germany to face Bayer Leverkusen and CSKA host Monaco in MD3.