Morata, 23, who is playing for Spain at Euro 2016, joined Juventus in 2014, after four seasons with Real.
The terms of his move to Italy included an option for Real to buy him back, with the fee reported to be up to 30m euros (£23m).
Morata, previously reported to be a target for Arsenal and Chelsea, has scored three times for Spain in France.
He scored 27 goals in two years for Juventus, winning two Serie A titles and two Coppa Italias.
Morata played in back-to-back Champions League finals, having appeared as a substitute in Real's 2014 win and scoring in Juventus' 3-1 defeat by Barcelona in 2015.
The 6ft 3in striker came through the ranks at Real, making his first team debut at 18, and scored 10 goals for the La Liga side.
Find all the latest football transfers on our dedicated page.
Real Madrid have re-signed Juventus striker Alvaro Morata, exercising their buy-back clause.