The 21-year-old striker, who scored eight goals in 23 Primera Division appearances for Champions League winners Real, has signed a five-year contract with the Serie A champions.
A statement published on Juve’s official website read: "Juventus Football Club can announce that Alvaro Morata has signed a five-year contract with the club after a fee of 20million euros, to be paid over three years, was agreed with Real Madrid.
"The deal includes the option for Real Madrid to reacquire the player’s registration rights at the end of the 2015-16 or 2016-17 campaigns, at predetermined values, up to a maximum of 30million euros. These values will be based on the number of matches played by Morata in the relevant season."
Morata owns a Champions League winner’s medal having played in Real’s final victory over city rivals Atletico in May and he scored his first goal in the competition when closing out a 3-1 win against Schalke in the round of 16.
With an impressive haul of 13 goals in 12 appearances for Spain’s Under-21 side, he had attracted the interest of Barclays Premier League club Arsenal, who were reportedly close to signing the striker on loan in January. Bundesliga side Wolfsburg were also believed to be interested.