The 30-year-old, who left BVB for Bayern in 2016, rejoins his former side pending the completion of a medical, Dortmund announced on Wednesday.
Hummels previously played for BVB between 2008 and 2016, scoring 25 goals in 306 competitive appearances for the Black & Yellows.
Dortmund communicated that both clubs agreed to not disclose the contents of the transfer agreement, but German publication Kicker has stated the transfer fee is €38 million (R632 million).
He leaves Bayern after 118 appearances, helping the Bavarians win three Bundesliga titles, one DFB Pokal and three German Super Cups.
Hummels is Dortmund's fourth signing of this window, following Thorgan Hazard, Nico Schulz and Julian Brandt.
Do you think Hummels can help BVB beat Bayern to the Bundesliga title next season? Have your say in the comments section below.