Smarting from Sunday’s hammering, Bayern were without Leon Goretzka, Michael Cuisance, and Leroy Sane while respiratory infection saw Dortmund without Roman Burki and Jadon Sancho.
Bayern were gifted the first opportunity in the opening exchanges as combination play between Benjamin Pavard and Joshua Kimmich freed the latter, who couldn’t beat Marwin Hitz.
The Bavarians inevitably drew first blood on 18 minutes after a swift counter-attack from a Dortmund corner released Corentin Tolisso, who fired in off the rebound after seeing his initial effort parried.
Dortmund battled to get a grip of proceedings and conceded yet again 32 minutes in as Thomas Muller towered over Felix Passlack to send Alphonso Davies’ ball past Hitz.
Lucien Favre’s charges began normalising matters seven minutes later, and went to the break with a one-goal deficit after Julian Brandt drilled Erling Braut Haaland’s pass into the top corner.
Dortmund should’ve drawn level moments from halftime when a ball from Mahmoud Dahoud found an unmarked Thomas Meunier who failed to beat Bayern goalkeeper Manuel Neuer.
The visitors would amend the aforementioned miss after 55 minutes when Haaland collected Thomas Delaney’'s probing ball from midfield to find the bottom corner in the six-yard area.
Haaland had a chance to put his side ahead for the first time in the match moments later but after breaking the offside trap, was thwarted by Neuer.
Bayern reclaimed their advantage eight minutes from time after Kimmich played a one-two with Robert Lewandowski to get the better of Hitz with some good measure.
The Bavarians ran down the clock with a double substitution with Lewandowski and Javier Martinez withdrawn for Jamal Musiala and Joshua Zirkzee, but 3-2 was the how the encounter as the hosts celebrated another piece of silverware.