Bayern goalkeeper Manuel Neuer had to save from Robert Lewandowski, Jakub Blaszczykowski, Marco Reus and Sven Bender, before Bayern finally came to life when Weidenfeller tipped a Mandzukic header onto the bar.
Javi Martinez sent a header onto the roof of the net from the resulting corner, but the best chances of the first half both fell to Robben.
On the half hour, Thomas Mueller's pass sent him clean through on goal, but the angle was prohibitive for a left-footed player and Weidenfeller rushed out swiftly to make a sprawling save.
The Dutchman found himself with only the goalkeeper to beat again moments before half-time when the ball fell kindly for him in a tussle with Hummels, but Weidenfeller stood up bravely and blocked with his face.
In between, Neuer produced a superb last-ditch block to thwart Lewandowski, who had deftly rolled Jerome Boateng from a Reus pass, as the play passed from one end to the other at breathless speed.
It looked as if another major final was set to pass Robben by, but on the hour he atoned for his earlier misses by creating the opening goal.
Ribery rolled a pass towards the byline and Robben evaded the offside trap by a matter of inches before nudging the ball beyond Weidenfeller and crossing for Mandzukic to hook the ball home from a yard.
Dortmund might have been forgiven for feeling deflated given their first-half exertions, but instead they drew level.
Dante was penalised for an untidy high foul on Reus inside the area and Gundogan steered his penalty into the bottom-right corner to send the hordes of yellow-shirted fans behind Neuer's goal leaping from their seats.
Moments later, Dortmund were indebted to a breathtaking piece of defending from Neven Subotic, who slid in to hook Mueller's goal-bound shot off the line as Robben closed in for a tap-in.
But Bayern continued to push, Weidenfeller repelling fierce strikes from David Alaba and Bastian Schweinsteiger, before Robben tiptoed through the Dortmund defence to score a famous late winner.
[afp]
[bild1]
Arjen Robben scored a heart-stopping 89th-minute winner to earn Bayern Munich a dramatic 2-1 win over German rivals Borussia Dortmund on Saturday after a thrilling Champions League final at London's Wembley Stadium.
With extra time beckoning, Robben collected a back-heel from Franck Ribery, eluded the challenge of Mats Hummels and rolled a delicate shot past Roman Weidenfeller to give Bayern their fifth European crown.
It was a moment of long-awaited deliverance for both Bayern and Robben, after defeats for the Bavarians in the final of the competition in 2010 and again in 2012, when they lost a cruel penalty shoot-out to Chelsea on home soil.
Robben had set Bayern on the way to victory after an hour of the first all-German final when he teed up Mario Mandzukic for the opener, only for Ilkay Gundogan to equalise from the penalty spot in the 68th minute.
Victory made Bayern coach Jupp Heynckes only the fourth manager to win the trophy with two different clubs, after a 1998 triumph with Real Madrid, as he prepares to step aside for incoming successor Pep Guardiola.
Having already claimed the German title, Bayern will now look to complete an unprecedented treble by beating Stuttgart in the German Cup final next weekend.
There was no second title for 1997 winners Dortmund, but Jurgen Klopp's side more than played their part on a night of gripping drama in front of 86,298 fans at the home of English football.
The player who had generated the most column inches in the weeks leading up to the game was in the stands for kick-off; a hamstring injury having denied Mario Goetze a farewell appearance for Dortmund before his 37 million euros (£31.7 million, $47.8 million) move to Bayern.
[bild2]
His transfer was the latest show of strength from a side who romped to the Bundesliga title by a record-breaking 25-point margin, but Bayern were left looking like the underdogs as Dortmund flew out of the blocks.
Bayern goalkeeper Manuel Neuer had to save from Robert Lewandowski, Jakub Blaszczykowski, Marco Reus and Sven Bender, before Bayern finally came to life when Weidenfeller tipped a Mandzukic header onto the bar.
Javi Martinez sent a header onto the roof of the net from the resulting corner, but the best chances of the first half both fell to Robben.
On the half hour, Thomas Mueller's pass sent him clean through on goal, but the angle was prohibitive for a left-footed player and Weidenfeller rushed out swiftly to make a sprawling save.
The Dutchman found himself with only the goalkeeper to beat again moments before half-time when the ball fell kindly for him in a tussle with Hummels, but Weidenfeller stood up bravely and blocked with his face.
In between, Neuer produced a superb last-ditch block to thwart Lewandowski, who had deftly rolled Jerome Boateng from a Reus pass, as the play passed from one end to the other at breathless speed.
It looked as if another major final was set to pass Robben by, but on the hour he atoned for his earlier misses by creating the opening goal.
Ribery rolled a pass towards the byline and Robben evaded the offside trap by a matter of inches before nudging the ball beyond Weidenfeller and crossing for Mandzukic to hook the ball home from a yard.
Dortmund might have been forgiven for feeling deflated given their first-half exertions, but instead they drew level.
Dante was penalised for an untidy high foul on Reus inside the area and Gundogan steered his penalty into the bottom-right corner to send the hordes of yellow-shirted fans behind Neuer's goal leaping from their seats.
Moments later, Dortmund were indebted to a breathtaking piece of defending from Neven Subotic, who slid in to hook Mueller's goal-bound shot off the line as Robben closed in for a tap-in.
But Bayern continued to push, Weidenfeller repelling fierce strikes from David Alaba and Bastian Schweinsteiger, before Robben tiptoed through the Dortmund defence to score a famous late winner.