Arjen Robben proved the hero for Bayern Munich again in a major final and once more the villain for Borussia Dortmund, with the Dutchman getting the crucial breakthrough in the DFB-Pokal final deep into extra time.

It was Robben’s fifth goal in as many finals and came a year after his late, late goal downed Bayern’s great domestic rivals in the final of the Champions League. Thomas Muller added a second in the dying seconds to seal the trophy for Bayern, but it was Robben’s intervention that was decisive. Dortmund might also reflect that the referee’s lack of intervention had been key when not awarding them a goal in the second half after a header from Mats Hummels appeared to have clearly crossed the line.

Although there was to be no repeat of the treble this season for Bayern, lifting the German Cup means Pep Guardiola can reflect on what has overall been a hugely positive first season in charge, having also won the Bundesliga at a record early point in the campaign.

In both competitions their nearest challengers have been Dortmund, but in contrast to the 19 points that separated the two teams in the league, the margin was far smaller in Berlin’s Olympiastadion. Featuring two attack-minded teams who have tended to produce a healthy amount of goals in their recent meetings, it was a match of surprisingly few chances. Guardiola’s switch to a three-man back line was quite possibly designed to prevent their defense being exposed as it was in the Champions League by Real Madrid and by Dortmund in a 3-0 Bundesliga win just a month ago.

The man brought into the side at right wing-back for only his fourth start for the club, 18-year-old Pierre-Emile Hojbjerg had the game’s first opening a minute before half-time but drilled a shot wide from the edge of the box. Seconds later, Robert Lewandowski, in the bizarre scenario of playing his final match for Dortmund against the team he’s poised to join, blasted over with his best chance of the contest.

The game’s moment of controversy came just past the hour mark. Hummels, who may have been marginally offside, directed a header at goal from close range and replays suggested that it had crossed the goalline before Dante cleared it to safety.

As the contest wore on it became increasingly end-to-end. Still there was no breakthrough. A Bayern breakaway saw Robben given a chance to fire at goal, but it was straight at Roman Weidenfeller whose large frame blocked it away. It was the same scenario in the opening period of extra time, but once again Robben was to have the decisive word.

The winger had just seen a tame shot collected by the Dortmund goalkeeper when Weidenfeller’s quick throw caught out Kevin Grosskreutz, allowing Jerome Boateng to get clear down the right. His low cross missed out everyone in the middle until Robben controlled a shot toward goal at the back post and Weidenfeller couldn’t adjust his legs quickly enough to prevent it going off him and agonizingly over the line.

Dortmund pushed for an equalizer and came agonizingly close when Marco Reus’ goal-bound shot deflected off Boateng and just over the bar. Bayern, though, ensured their victory as Muller broke clear, rounded Weidenfeller and tucked the ball into the net.