Tottenham striker Fernando Llorente returned to haunt Swansea and Dele Alli added a late second as Mauricio Pochettino’s side won 2-0 on Tuesday to rise to fifth in the Premier League.
Former Swansea star Llorente’s 12th minute opener should have been ruled out for offside.
But there was no dispute over Alli’s decisive goal, which owed much to a superb pass from his England teammate Harry Kane, who came on as a second half substitute.
Tottenham climb above north London rivals Arsenal to within four points of fourth placed Liverpool, with a game in hand against West Ham coming up on Thursday.
It was a first defeat for new Swansea manager Carlos Carvalhal on his home debut and his club remain bottom of the table.
Kane, Tottenham’s leading scorer, started on the bench as he had been suffering from a heavy cold, but despite his absence Spurs dominated at the start.
Swansea were pressed deep into their own half as the visitors defied the wet conditions to move the ball with precision.
Martin Olsson was booked for an early foul on Kieran Trippier before Spurs went ahead in the 12th minute through a simple, but controversial goal for Llorente.
The Spaniard met Christian Eriksen’s free-kick from the left with a glancing header from inside the six-yard box, but replays showed he was a yard offside.
Llorente, who left south Wales last summer, opted not to celebrate his strike.
Midway through the half, Llorente was put through again but this time he was flagged for offside.
Slowly, Spurs’ passing became less accurate on the heavy surface and Swansea grew into the contest with their on-loan Portuguese midfielder Renato Sanches increasingly prominent.
After Spurs defender Davinson Sanchez was booked for tripping Jordan Ayew off the ball, Sanches curled a free-kick just over the bar. Then he surged forward to create an opening for Nathan Dyer, whose header lacked power.
Carvalhal replaced Angel Rangel with Luciano Narsingh seven minutes after the break and the extra pace gave the home side more momentum.
But Spurs were more efficient and from a rare period of pressure Eriksen’s free-kick from 20 yards was beaten away by Lukasz Fabianski.
Both defences were being stretched and when Narsingh broke clear in the 64th minute he should have done better than drift wide before offering a comfortable save to Hugo Lloris.
A long ball from Jan Vertonghen then put Alli in on goal, but his header failed to find the target under pressure from Swansea defender Mike van der Hoorn.
Ayew was then worked clear on the left and when he cut inside, the Ghana striker had a chance to equalise.
But he dithered and the chance went begging, although had he gone down under Lloris’s challenge then he may have earned a penalty.
From the resulting corner, the ball rebounded off Vertonghen’s back and struck the post with Lloris beaten.
A 77th minute volley from Son Heung-Min was the nearest Spurs came to extending their lead, but Swansea’s late pressure lacked precision.
The home side were finally punished by an 89th minute combination between Kane and Alli as Spurs clinched the points.
Kane’s floated pass from the left found Alli in space and although his first shot was saved by Fabianski, he reacted alertly to poke home the rebound.