The Serie A side agreed a five-year contract with the 21-year-old striker, who scored nine goals in 34 appearances for the Spanish club last season.
The Spain Under-21 international said at a press conference to announce his arrival: "Juve are one of the best clubs in the world and Italy's finest. I'll try to contribute to new successes.
"I've spoken to [manager Massimiliano] Allegri and I'm itching to get down to work. I've wanted to come to Juventus for a long time. The club's always shown a strong interest in me.
"I feel prepared for the new season ahead, I know it's a challenging league, but I'm ready to tackle Serie A. It's stimulating for me to have the challenge of breaking into the team. Competition is always healthy."
Although Juventus have not disclosed the fee, reports suggest that Morata has cost the club €18m (£14.25m).