Dortmund beat Bayern to Reus signing
Dortmund said the 22-year-old forward, who has scored 10 goals for Gladbach in the league this season and helped his previously unrated team to fourth in the table, would sign a five-year contract.
Bild newspaper said Dortmund would pay 17.5 million euros for the player.
"We have signed the player of our dreams for our attack," Dortmund's sporting director Michael Zorc said on the club website.
"We're happy that Marco has decided for us in the face of very strong competition."
Bayern Munich were among other clubs who had reportedly been chasing Reus, who made his Germany debut against Turkey in October and has won three caps.
Reus spent three years with Dortmund's youth divisions before moving to Rot-Weiss Ahlen where he made his professional debut in 2008.
He joined Monchengladbach in 2009 and his 11 league goals last season helped them stave off relegation.