The 22-year-old joins Spurs on a five-year deal for a fee that could rise to £15m (€16.5m).
Spurs have paid £11m up-front with a further £4m to follow in potential bonuses.
Rodon will wear the number 14 shirt at the Tottenham Hotspur Stadium.
— Tottenham Hotspur (@SpursOfficial) October 16, 2020
Jose Mourinho has wanted a central defender to wrap up a busy summer for Spurs, which saw Gareth Bale return to the club.
And after failing to get a deal for Rodon over the line in the regular transfer window, Spurs have taken advantage of the secondary window to sign him.
Regarded as one of the best defenders outside of the Premier League, Rodon made 54 appearances for Swansea.
He is also a full Welsh international and started in their recent internationals against England, Ireland and Bulgaria.