The Swiss coach took over last year, leading them to second place in the league behind Bayern Munich.
Dortmund had a nine-point lead over the Bavarians midway through the season but had a disappointing start to 2019 and lost out to Bayern who clinched their seventh straight league title on the final matchday.
"He met expectations 100 percent," said club CEO Hans-Joachim Watzke in a statement. "It is only natural that we want to form the future together."
Dortmund also made the Champions League group stage, losing to eventual finalists Tottenham Hotspur in the last 16.
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
The 61-year-old Favre joined Dortmund from French club Nice. He had previously coach Borussia Moenchengladbach and Hertha Berlin in the Bundesliga.
(Reporting by Karolos Grohmann; Editing by Ken Ferris)
