The Germany international, 28, has been linked with several top European clubs in his career but is now committed to Dortmund until 2023.
He has made 196 appearances since joining the club in 2012 but has suffered a number of long-term injuries in recent seasons.
Last month, Reus returned after almost eight months out with a knee injury.
He captained the side in his comeback against Hamburg and has since scored in three consecutive games.
Reus said the decision to extend his contract was a “thank you” to the club’s “fantastic fans”.
“The fact that the club have repeatedly helped me in less than perfect times has also had a positive effect on my decision,” he added.
Reus has twice been named Bundesliga player of the year and won the German Cup with Dortmund last season.
He has 29 caps for his country but missed the 2014 World Cup, which Germany won, because of injury.