The best chance of the game fell to Harry Kane, who hit the crossbar from just a few yards out as Spurs were stifled by Swansea.
Drab first half
The two sides came into the game in a similar shape, as Paul Clement opted for a change to 5-3-2 with Mike van der Hoorn coming in for Leroy Fer. Son Heung-Ming moved to left wing-back as Ben Davies was rested for Spurs.
The first chance of the game fell to Deli Alli, skewing a volley wide from 20 yards. Swansea had an impressive away record going into this game, being unbeaten in their last four trips away from the Liberty Stadium.
However their record against Spurs isn’t as impressive. Swansea’s last league win over Tottenham was in 1982, and their last away win came in 1930.
Harry Kane looked to continue his stellar September form, testing Lukasz Fabianski from a free-kick 30 yards out but the Polish goalkeeper was able to tip his effort round the post.
Son then attempted to score from the same position where he finished from against Borussia Dortmund in midweek, but this time Fabianski was equal to his effort.
The remaining 30 minutes of the first half followed the same pattern of Spurs dominating possession but unable to create any real chances as the away side looked well drilled defensively by Clement.
Van der Hoorn almost put Swansea ahead just before the break, as he met Tom Carroll’s corner but mistimed his header which ended up over the bar.
Jan Vertonghen then struck from range, and his last goal came against Swansea five-and-a-half years ago, but Fabianski was equal to his effort.
Same process, same result
The second half saw a tactical switch for Spurs, as Kieran Tripper switched to the left flank, Moussa Sissoko out to the right which allowed Son to play more centrally.
Christian Eriksen had the first shot of the second half, shooting from 20 yards but Fabianski got down low and held his effort well.
A goal would make Eriksen the highest scoring Dane in Premier League history, taking the crown from Nicklas Bendtner.
Son then had an effort from 20 yards saved comfortably by Fabianski, as Spurs began to ramp up the pressure on this Swansea defence.
Just seconds later, Spurs should have taken the lead as Fabianski saved from Son before Kane couldn’t keep his effort down and hit the bar from Sissoko’s cut-back.
Kane then tested Fabianski for the first real time all game, meeting Eriksen’s corner at the near post but the goalkeeper was equal to the header.
A patented Eriksen cross to Alli then should have tested the goalkeeper, but Alli’s header was completely mistimed and was closer to a throw-in than a goal.
Kane then was just inches from giving Spurs the lead with 10 minutes left, stepping inside but dragging his shot just wide.
After an impressive tactical performance, Clement then oddly decided to take van der Hoorn off and bring Wayne Routledge on. Changing the shape with just five minutes left to go.
Spurs were denied a late penalty, as substitute Serge Aurier looked to have been brought down by Martin Olsson but referee Mike Dean gave a Swansea free-kick for handball.
Tripper then tried his luck from 25 yards in added time, but his strike flew just wide as Spurs pushed for a late winner but were not able to break Swansea down.