The Spain international must now agree personal terms and pass a medical to complete the transfer.
The 24-year-old would be the Premier League champions’ fourth signing of the summer, after goalkeeper Willy Caballero, defender Antonio Rudiger and midfielder Tiemoue Bakayoko.
Morata scored 20 goals last season after rejoining Real from Juventus.
He won La Liga and the Champions League, but the majority of his appearances were as a substitute.
Morata could replace Spain team-mate Diego Costa, who says he has been told by manager Antonio Conte that he is no longer part of his plans.
Manchester United had been interested in Morata prior to signing Everton striker Romelu Lukaku for an initial £75m.
Morata joined Real Madrid’s youth team in 2008 and was handed his senior debut aged 18 in 2010.
The 6ft 3in striker moved to Italy in 2014, scoring 27 goals in two years for Juventus, winning both Serie A and the Coppa Italia twice and playing in the 2015 Champions League final.
Real exercised a buy-back option in June 2016 to take him back to the Bernabeu.
Morata has won 20 caps for Spain, scoring nine goals, since his international debut in 2014.
Source: BBC Sports