It looked like Dortmund would clinch a neat 2-1 win on home turf but Bayern had an ace in the hole and flabbergasted the hosts with a two-all draw equalizer through Kimmich, who poked home from close range to force a penalty shootout in the 88th minute.
Dortmund goalkeeper Burki saved from Joshua Kimmich in the shoot-out but opposite number Sven Ulreich denied Sebastian Rode and Marc Bartra to ensure the Bundesliga champions lifted the first silverware of the season.
Carlo Ancelotti's men had a bad start as they gifted Dortmund an early lead when Spanish worldwide Javi Martinez's awful first touch paved the way for Pulisic, who simply made a darting run forward and made it 1-0 for the hosts in the 12th minute of the game.
British model kidnapped in Italy and put up for auction online
Police found a small bedroom at the property, but it is unclear whether it was used by the model or the kidnapper. Police said the woman had come to Milan for a photo shoot, apparently a fake setup, and was abducted on 11 July.
"We started the game very well, then we lost the thread, but we really moved through to the halfway point", the Turkey global told Dortmund's official website. "We have talked a lot with the coach and the players in the past few days. Today was important as we played like Bayern Munich again".
"We will do everything in our power to ensure, and are optimistic, that all the problems will be resolved by the start of the Bundesliga season on August 18". Unfortunately we conceded two goals, we weren't attentive then.
"We have to step it up even more now". In the end, we showed great morale, getting the result we wanted.
Asked about his double penalty save which won the game, Ulreich said: "Of course, I'm pleased to have helped the team in a penalty shootout and win a title".