Sources told ESPN on Wednesday that the deal was agreed for around €100m with an additional €20m in add-ons. Dortmund confirmed that 30% of the initial fee would make up the rest of the deal.
Madrid had the green light from the 19-year-old since weeks ago and have now taken the final step to make the England international one of the signings of the summer transfer window.
He will join youngsters Eduardo Camavinga -- signed in 2021 -- and Aurelien Tchouameni -- signed in 2022 -- as Madrid renew their midfield.
The race to land Bellingham has been fierce, with Liverpool and City both seen as favourites at different times over the past season before Madrid pulled ahead.
Bellingham joined Dortmund from Birmingham City in July 2020.
In three years in Germany he became one of the Bundesliga's best players, making 31 league appearances this season and scoring eight goals, and even captaining the side.
He starred for England at the 2022 World Cup in Qatar, starting all five of their games.
Bellingham is not expected to be the last arrival at the Bernabeu this summer, as Madrid are also looking to improve the squad in a number of positions, including signing a replacement for forward Karim Benzema, who joined Saudi Arabia's Al Ittihad this month.