The 25-year-old becomes their first signing of the January transfer window, and had been expected to join Everton before Spurs made a late move.
Danjuma played for Bournemouth from 2019 to 2021, scoring 17 goals in 52 games before moving to La Liga.
He has six caps, scoring two goals, but did not make the Netherlands squad for the 2022 World Cup.
Danjuma played a key role in Villarreal's run to the Champions League semi-finals last season, scoring 16 goals in all competitions for the Spanish club.
He appeared to have agreed terms with Everton over the weekend, but before he could sign his contract Tottenham made their move.