Pep Guardiola's final game as coach of Bayern Munich ended with a trophy as the Bavarians completed a league and cup double with a penalty shootout win over Borussia Dortmund.
After a goalless 120 minutes in which Bayern had arguably the better of the game, but Dortmund the better chances, a shoot-out was required to separate the teams and determine the destiny of the cup.
Dortmund missed two of theirs and Douglas Costa clinched Bayern the DFB-Pokal to add to their Bundesliga title this season.
The game started slowly with neither side taking risks. Thomas Muller sent two efforts - a header and a shot - off target, before Bayern's best chance of the first half arrived in the 33rd minute.
Roman Burki only parried Douglas Costa's shot and the ball fell agonisingly close to Robert Lewandowski, who claimed he had been impeded by Sokratis Papastathopoulos as he attempted to reach the rebound.
Pierre-Emerick Aubameyang sliced a shot wide of the near post after racing away at the other end, but chances remained few and far between during a largely tactical battle at the Olympiastadion.
The game opened up a little in the second half with Bayern seizing the initiative and creating several openings from the diligence of Franck Ribery and Douglas Costa.
Lewandowski only just failed to get enough on one Ribery cross before he sent the an excellent chance over the crossbar with 25 minutes to go.
That came shortly after Aubameyang had done the same with Dortmund's best chance, with the target proving difficult for both sides to hit.
Ribery did that with the aid of a deflection as the clock ticked down to just 15 minutes remaining, but Burki was able to keep that effort out.
Mats Hummels, who joins Bayern in the summer, saw his Dortmund career ended prematurely due to injury after 78 minutes.
Dortmund's captain could only watch on as Aubameyang scooped Lukasz Piszczek's cross over the crossbar from eight yards out, wasting the best chance of the entire 90 minutes.
Extra-time was needed and it nearly started with a goal for Bayern, although Erik Durm had other ideas as he blocked Lewandowski's effort before Henrikh Mkhitaryan flashed a shot wide of the far post.
With players on both sides showing signs of the strain, and tiredness taking over, the chances dried up again with penalties needed for the first time since 1999 to determine the DFB-Pokal winners.
Bayern missed all four of their spot kicks when these two teams met in last season's semi-final, but Arturo Vidal ensured that would not be the case again before Manuel Neuer denied Sven Bender with Dortmund's second.
Sokratis Papastathopoulos hit the left-hand post with Dortmund's third before Joshua Kimmich's poor effort was saved by Burki.
Douglas Costa stepped up for Bayern's final and decisive penalty, and he found the top corner to spark celebrations and what appeared to be tears in Guardiola's eyes as he left Bayern having won the double.