The Germany international will continue his career in La Liga after signing a six-year contract with the Santiago Bernabeu side.
Bayern Munich announced Thursday that Toni Kroos has completed his transfer to Real Madrid for an undisclosed fee.
The attacking midfielder had long been linked with a move to the Champions League holder and he has now signed a contract with Madrid until the summer of 2020.
"We would like to thank Toni for his time at Bayern Munich," said Bayern chief Karl-Heinz Rummenigge. "We enjoyed some great successes together. We wish him and his family all the best in Madrid and at Real."
Bayern was initially keen to hold on to the 24-year-old, yet put him up for sale after failing to reach an agreement over a contract renewal.
Manchester United also showed an interest in signing the Germany international, but Kroos eventually opted against a move to the Premier League giant in favor of Madrid.
Kroos, who played a key role in Germany's World Cup win this summer, will be presented to the media and fans on the honorary balcony at the Santiago Bernabeu on Thursday.
The midfielder came through the ranks of the Hansa Rostock youth academy, but joined Bayern at the age of 16. He made over 170 official appearances for Bayern since breaking into the first team in September 2007.
He also enjoyed a successful loan spell at Bayer Leverkusen from January 2009 until the summer of 2010.