Outplayed for much of the evening, the tournament’s most successful team earned yet another European Cup as Dani Carvajal and Vinicius Junior scored to secure a 2-0 victory.
Carlo Ancelotti had warned his Real players on the eve of the final that they would play with fear and they certainly suffered from stage fright for large parts of the game – eventually finding a way to win.
Thibaut Courtois was making his first Champions League appearance of the season having recovered from two serious knee injuries and his saves kept Madrid in the game until they struck themselves.
Dortmund’s own profligacy ended up costing them dear after a string of first-half chances were missed, including Niclas Fullkrug hitting the post.
Wembley Stadium confirmed arrests were made after the game was halted inside the opening minute as three separate pitch invaders evaded security.
When the game got back under way it was Dortmund, watched on by former boss Jurgen Klopp, who were the better side but a gritty Real performance ultimately saw them come out on top once more.
Madrid have not lost a major European final since losing the Cup Winners’ Cup to Sir Alex Ferguson’s Aberdeen in 1983 but there were times here when they looked set to fall short.
Julian Brandt had a decent early chance but fluffed his lines in what was to become a familiar feeling for Edin Terzic’s side.
They were soon left ruing a great opportunity to break the deadlock as Karim Adeyemi raced through a gaping hole in the Madrid defence but took a touch far too wide as he tried to round Courtois.
Still the chances came for the underdogs from the Bundesliga, this time Fullkrug hitting the inside of the post after Ian Maatsen had too easily won the ball back from the otherwise impressive Federico Valverde.
Real were not at the races but Dortmund could not take advantage of their early dominance, Courtois this time saving well from Adeyemi, whose pace was causing plenty of problems.
Frustration was starting to build among the Madrid ranks as Vinicius was booked for a late challenge on Dortmund goalkeeper Gregor Kobel.
Courtois was less convincing as he pushed away a Marcel Sabitzer strike from outside the box that bounced in front of the Belgium number one.
Real began to show signs of life soon after the interval, Kobel saving well from a Toni Kroos free-kick before a Carvajal header also came close to breaking the deadlock.
It was not long, however, until Courtois was back in action as he saved well from a Fulkrug header, with Bellingham unable to make any contact when he had a chance soon after for Madrid.
Dortmund’s defence had not learned their lesson though as Carvajal guided a Kroos corner past Kobel to put Ancelotti’s men in front with 16 minutes remaining.
Kobel did well to keep out another Kroos free-kick as well as a curling strike from Eduardo Camavinga and a Nacho header with Real looking to make sure of the result in the latter stages.
But there was nothing he could do as the lead was doubled courtesy of Vinicius, who collected and dispatched Bellingham’s pass after a misplaced ball from Maatsen.
Fullkrug thought he had pulled one back for Dortmund but his effort was ruled out for offside.
Carvajal, Modric, Nacho and the retiring Kroos all celebrated winning a record-equalling sixth European Cup as Dortmund – much like their defeat in the final to Bayern Munich at Wembley 11 years ago – were left wondering what might have been.