
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%,” 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.
The 61-year-old Favre joined Dortmund from French club Nice.
He had previously coached Borussia Moenchengladbach and Hertha Berlin in the Bundesliga.