Newcastle frustrated their opponents for 83 minutes until Son blasted the ball through Martin Dubravka, who should have done a lot better to keep out the strike.
Tottenham had earlier hit the crossbar through Erik Lamela's header and had a Christian Eriksen shot saved on the line, but their persistence paid off thanks to Son's late winner, taking Mauricio Pochettino's men above Manchester City for at least 24 hours.
Without a point in their last 10 away matches against a top-six opponent, Newcastle made it clear from the off that they were happy to stick bodies behind the ball.
Tottenham were largely frustrated in a quiet first half, though they did create a couple of good opportunities to open the scoring.
Lamela clipped the ball towards the edge of the six-yard box and Lucas Moura, brought in for Fernando Llorente up top, guided his free header wide of the target after being kept onside by Fabian Schar.
The home side came even closer eight minutes later as makeshift left-back Jan Vertonghen, not afraid to get the ball in the box at every opportunity, picked out Lamela towards the back post.
Despite the awkward bounce, Lamela got his head to the ball and diverted it against the crossbar, before ex-Newcastle midfielder Moussa Sissoko sent an attempt over from further out when the ball was played back into the middle.
Visiting keeper Dubravka finally had a save to make shortly before half time, getting down low to parry Sissoko's side-foot volley from 15 yards.
Davinson Sanchez came close through a headed effort early in the second period, but Newcastle gave their opponents a big scare 54 minutes in when Rondon's looped header beat Hugo Lloris but hit the post.
An hour passed before Pochettino turned to Llorente, the matchwinner against Watford earlier this week, and that gave the hosts a different dimension up top.
Goal-line technology was required to deny Eriksen a goal soon after Llorente's introduction, the Dane's delicate flick being stopped on the line by Schar, but Newcastle were also providing an occasional attacking threat as Perez had a long-ranger acrobatically tipped over by Lloris.
Tottenham's pressure eventually told, though, as Son wriggled free from his marker and fired the ball through arms of Dubravka to make it nine goals and five assists in his last 10 appearances for a Spurs side boasting three league wins on the spin.
TOTTENHAM (4-3-3): Lloris; Trippier, Alderweireld, Sanchez, Vertonghen; Eriksen, Winks, Sissoko; Lamela (Rose 78'), Son (Dier 89'), Lucas (Llorente 60')
NEWCASTLE UNITED (5-4-1): Dubravka; Yedlin, Lejeune, Schar, Lascelles, Ritchie (Barreca 86'); Perez, Hayden, Longstaff, Atsu (Kenedy 82'); Rondon