The teenage striker joins on an initial loan deal from Heart of Midlothian, with the Premier League side holding an option to make the deal permanent.
A seven-figure fee has been agreed between the clubs, should Spurs wish to take up the clause.
It is understood Spurs will pay a six-figure fee to bring Wilson to the club on loan and will pay around £2.5million to make it permanent. It would also include a sell-on clause as is standard nowadays.
It completes a whirlwind 24 hours, which started with interest from Arsenal. The Premier League leaders approached Hearts and had discussions over a short-term deal that was effectively a trial for the 18-year-old.
Spurs, however, jumped to the front of the queue following talks with Hearts over the deal which included a clause that would allow the Londoners to sign Wilson permanently if the loan goes well.
The teenager will join up with the Spurs under-21 side, who compete in Premier League 2.
Wilson, who is under contract, has found game time hard to come by at Tynecastle Park with Lawrence Shankland and Claudio Braga the preferred duo, netting 28 goals between them. Following Shankland's injury, which could keep him out until March, Landry Kabore has stepped into the role as the team's focal point, scoring twice in the 2-0 win over Dundee United.
It has meant Wilson has been restricted to 10 appearances despite impressing in pre-season. The player has been keen to play regular football and was hopeful of a loan move this month.
It followed a breakthrough season where he featured more than 32 times, scoring six goals and earning a Scotland debut in March.
What Hearts said:
"James Wilson has completed a loan move to Tottenham Hotspur.
"The 18-year-old heads south to join the English Premier League outfit’s U21 side until the end of this season, subject to international clearance and Scottish FA approval.
"The terms of the loan move include an option to buy, for an undisclosed fee, on Spurs’ part.
"James rose to prominence last season with an Edinburgh derby strike and went on to win a full Scotland cap.
"He’s pulled on the maroon jersey on 45 occasions, scoring eight goals.
"Everyone at Hearts wishes James the best of luck at the Tottenham Hotspur Stadium."