A deal with Bayern Munich for Hummels was struck earlier this month and the transfer has gone through after he passed his medical and signed his contract on Saturday (AEST).
Dortmund, which finished second in the Bundesliga to Bayern last term despite leading the table for much of the season, has not disclosed the contract length.
it is reported to have paid a €38 million ($62 million) fee to bring Hummels back to Dortmund after he spent the past three seasons at Bayern.
Hummels is the latest signing made by Dortmund ahead of the 2019-2020 season and he joins the likes of Thorgan Hazard, Nico Schulz and Julian Brandt in Lucien Favre's squad.
He could make his latest Dortmund debut against Bayern in August's DFB-Supercup, with BVB then opening its Bundesliga campaign at home to Augsburg.
Dortmund is away to Bayern in November before hosting the defending champion at Signal Iduna Park in the closing weeks of the season.