The new deal ties the Germany international to Madrid until 30 June, 2024.
Kroos, 33, has made 417 appearances for Real Madrid, including 30 in La Liga and 12 in the Champions League last season.
The 2014 World Cup winner joined from Bayern Munich in 2014 and has won 20 trophies with the club.
Over his nine seasons as a Real Madrid player, he has won four Champions Leagues, five Club World Cups, four European Super Cups, three La Liga titles, a Copa del Rey and three Spanish Super Cups.
Last season he helped Real to the Copa del Rey title and the Champions League semi-final, where they were knocked out by Manchester City.