Son's first goal, following up after Pepe Reina saved his penalty, had given Spurs the lead just before halftime after Toby Alderweireld's equalizer cancelled out his early own goal. Fifth place in the Premier League is now likely to offer a Champions League spot following Manchester City's two-year European ban, although it is yet to officially be confirmed and City are appealing.
The result moved Spurs above Sheffield United into fifth, while Villa remained a point above the drop zone in 17th. It all started so well for Dean Smith's Villa, which was gifted the lead after just nine minutes.
Anwar El Ghazi's deflected cross completely flummoxed Alderweireld and, under little pressure from Mbwana Samatta, the defender stabbed into his own net from five yards. The visitors appeared unnerved and Villa looked for an instant second, swarming all over Tottenham with Jack Grealish curling wide from the edge of the box.
Spurs were floundering but still found an opening when Lucas Moura seized on El Ghazi's loose pass and Dele Alli's shot was blocked by Kortney Hause. The visitors desperately needed to regain their composure as they struggled to handle a marauding Grealish, who continued to create clear openings for Villa.
The midfielder was on top form and, after 18 minutes, he breezed past Alderweireld to cut back for Douglas Luiz only for his goal-bound shot to hit a covering Ben Davies and fly over. Villa was the dominant force and Spurs had struggled to create yet levelled out of the blue after 27 minutes when Alderweireld made amends.
The hosts failed to clear Son's corner and switched off when the ball dropped to Alderweireld who swivelled to fire a neat finish high past Reina on the half-volley. Villa had paid the price for missing their chances and almost fell behind 10 minutes before the break but Alli horribly miscued his attempt to curl in from an angle.
The game opened up and Hugo Lloris kept out El Ghazi's drive from distance before Alli's shot was blocked and Steven Bergwijn's follow-up hit Engels. Spurs had fought their way back after a terrible start but completed their first-half recovery in injury time.
Bergwijn raced down the right only for his run to be halted by the sliding Engels. Referee Martin Atkinson initially refused to give a penalty but a VAR review awarded the spotkick. While Reina went to his right to save Son's penalty, the forward prodded in the rebound.
Villa regrouped at the interval and swiftly fired a warning when El Ghazi's snapshot flew straight at Lloris. It was a warning that Spurs ignored, though, and Villa levelled in the 53rd minute as Engels earned his own redemption when he rose above Alderweireld to head in Grealish's corner.
Yet the hosts failed to build on the equaliser and needed Reina to be at his best until he was beaten at the end. First, Bergwijn shot at the goalkeeper and the veteran made a smart save after Son found space in the box just after the hour.
Nakamba blocked Bergwijn's effort 10 minutes later and Alli should have done better than to shoot tamely at Reina when Ezri Konsa's mistake allow him through. Reina also twice denied Son with five minutes left, turning his angled drive wide and, from the resulting corner, making a low stop.
But Son sealed the win deep in stoppage time when Engels missed a routine clearance and the striker ran through to roll under Reina.
More AP soccer: https://apnews.com/Soccer and https://twitter.com/AP_Sports