The 23-year-old winger was a key part of Marco Bielsa's promotion-winning team last season, appearing in every Championship match and providing eight assists as Leeds won the title.
Harrison has been at Leeds for two seasons in total, making 91 appearances in all competitions and scoring 10 times.
"Playing in the Premier League has always been a dream of mine and to be doing that with Leeds in an amazing opportunity," Harrison told LUTV.
"My game has become more well-rounded, finding different ways to improve my game has been crucial to my development and now I'm happy to be back playing at one of the highest levels."
Leeds also announced the arrival of striker Joe Gelhardt on Monday.
Gelhardt has signed until the summer of 2024 for an undisclosed fee from Wigan Athletic.
The 18-year-old, who has represented England at various youth levels, scored once for the Latics in two starts and 17 substitute appearances in all competitions last season.