Tottenham had been locked in talks with Forest over the forward, after interest from Chelsea waned following their capture of Cole Palmer from Manchester City. Spurs chairman Daniel Levy and Forest owner Evangelos Marinakis led discussions and an agreement was reached on deadline day.
Tottenham have signed him up on a contract to 2029 and he will wear the No22 shirt.
Johnson, who has 20 caps for Wales, was a key figure in helping Forest survive relegation last season. He scored eight goals and laid on three asissts for Steve Cooper’s side.
He wrote on social media after the deal was announced: “Absolute honour to have signed for Tottenham Hotspur. Really excited for this next chapter and can’t wait to play in front of you fans soon.”