Real Madrid may have won the battle in thrilling fashion, but they ultimately lost the war.
Trailing 4-1 in aggregate to start the match, Real Madrid needed a 3-0 result to win or a 4-1 result to send the game into overtime. Despite a late flurry, headlined by Karim Benzema and Sergio Ramos goals, the game would end with Real Madrid winning 2-0, sending Borussia Dortmund to the Champions League final on aggregate, 4-3.
Surely, Real Madrid will lament several early opportunities left wanting.
Los Blancos were the aggressors early, and Gonzalo Higuain had the game's first clear chance as Luka Modric put him in the box. Higuain's first touch betrayed him, however, and his shot was handled by keeper Roman Weidenfeller.
Seconds later, Los Blancos streamed ahead on the attack, and Cristiano Ronaldo put a shot on goal, but Weidenfeller remained sturdy again. Minutes later, Mesut Ozil found himself in the clear on the right side with Ronaldo streaming up the left, but the German international pulled his shot just wide to the right.
Real Madrid absolutely bossed the first 15 minutes, but Dortmund eventually slowed things down and maintained a clean sheet in the first half. The game went into the half scoreless.
Dortmund would have two brilliant chances in the opening stages of the second half. Lewandowski would have two shots in the clear within minutes of one another but would blast the first opportunity well over the bar and hit the cross bar on the second attempt after Marco Reus put him through on goal.
Real Madrid went for broke in the 57th minute, subbing Kaka and Karim Benzema into the game for Fabio Coentrao and Higuain.
Lopez would come up with the save of the match in the 61st minute. Reus would center a pass to Ilkay Gündoğan, who had the entire net to shoot at, but somehow Lopez was able to dive across the face of goal and block the attempt.
Real Madrid kept trying to unlock the Dortmund defense, and the German side kept hanging on. Di Maria would play a nice cross into the box for Kaka in the 72nd minute, but the Brazilian midfielder's volley would go just wide to the left.
And then Real Madrid would make things really interesting in the 88th minute.
But despite nearly six minutes of stoppage time, Real Madrid couldn't muster the final goal, and Borussia Dortmund managed to hang on by the skin of their teeth. It was a truly mesmerizing spectacle throughout, especially in the final 10 minutes.
Luka Modric, Real Madrid: A-
For my money, Modric was Los Blancos finest player. He was sturdy winning possession back in the middle of the pitch, he was the creative engine for Real Madrid moving forward and his vision and decision-making were excellent throughout. A fine performance from the former Spurs man.
If you were to pick out a Man of the Match in this one, it would be the keeper, Weidenfeller. He made several key saves, his positioning was flawless throughout and he kept Dortmund's clean sheet in the early going when Los Blancos were swarming. Yes, Real Madrid got two late goals, but a lesser effort from Weidenfeller and Dortmund would be watching the final, not playing in it.
Cristiano Ronaldo, Real Madrid: C+
Ronaldo didn't have his normally clinical final touch in this game. He couldn't find the back of the net despite several chances. His touch throughout was a bit clunkier than we've come to expect. While he made several dangerous runs and consistently found open spaces to exploit, this simply wasn't a vintage Ronaldo performance.
Robert Lewandowski, Borussia Dortmund: C
After scoring four goals in the first game, Lewandowski lacked the touch needed to tally again in this match. He missed several wide-open looks at goal and never had nearly the impact on this game that we saw in the first leg.
What a difference he made in this match. Whereas Higuain scuffed several opportunities, Benzema buried his first chance on goal and set up the second one with an unselfish pass to Ramos, who buried the opportunity. It was too little, too late, but the Frenchman nearly propelled an epic comeback for Los Blancos.