Borussia Dortmund fell agonizingly short of pulling off arguably the greatest comeback in Champions League history, with a 2-0 victory at the Westfalenstadion not enough to overturn Real Madrid’s 3-0 advantage from the first leg of their Champions League quarterfinal.

But an injury-ravaged Dortmund side could hardly have come any closer to producing the “miracle” that coach Jurgen Klopp suggested they would need. After Angel di Maria missed an early penalty, Marco Reus struck twice before half-time to fuel belief around Dortmund’s rocking home stadium that they could become only the second team in the history of the Champions League to come back from a three goal first-leg deficit. But Henrikh Mkhitaryan was culpable in missing several chances in the second half as he struck a post as well as seeing Iker Casillas pull off several outstanding saves.

Madrid hung on to reach their fourth-straight Champions League quarterfinal, but for coach Carlo Ancelotti it was so close to a collapse on a par with that suffered by his Milan side against Deportivo La Coruna 10 years ago. Everything had appeared in their favor after their first-leg win and, while Robert Lewandowski returned, with yet more injuries and suspensions hampering Dortmund’s hopes. Klopp had particular problems in midfield where, with Sebastian Kehl and Nuri Sahin unavailable from the first leg, he went with inexperienced pair Oliver Kirch and Milos Jojic.

Madrid, despite having the not completely fit Cristiano Ronaldo on the bench, had an ideal chance to leave Dortmund needing to score five times to progress and thus surely end their hopes just 17 minutes in. Lukasz Piszczek tried to pull away his arm as Fabio Coentrao’s cross came in his direction but it remained away from his body enough to justify the award of a penalty. But Di Maria failed to take advantage, slipping as he went to hit the ball, although it still required a fine one-handed save from Roman Weidenfeller to keep it out.

Almost immediately Dortmund blew a glorious chance to capitalize on Madrid’s profligacy. A lovely faint by Reus in the box was followed by a square pass to Mkhitaryan but the Armenian side-footed wide from the center of the box. That could have sucked the life out of Dortmund’s hopes of a comeback but instead they maintained their momentum and went in front in the 24th minute.

Pepe was woefully at fault when carelessly trying to head a long ball back to his goalkeeper, but Reus deserves huge credit for anticipating the error which allowed him to get there ahead of Casillas, take it around him and then finish past the covering Sergio Ramos.

The Westfalenstadion was now rocking and Madrid were struggling to deal with the sudden pressure on what appeared a comfortable first-leg advantage. And, with 37 minutes gone, they choked up another error to give Dortmund real belief that a miracle was on. This time it was Asier Illarramnedi at fault, with a slack pass in midfield to send Reus sprinting at the Madrid backline. His pass found Lewandowski and while the striker’s shot struck the far post, Reus followed up to blast the rebound high into the net.

Real Madrid looked to have regained some composure in the second half and even had chances to get a vital away goal. Gareth Bale forced Weidenfeller into a good low save while minutes later he curled an effort wide of the far post.

But for the remaining 25 minutes, the visitors were hanging on for grim life. And, in truth, Mkhitaryan should have at least took the tie into the extra drama of extra time. In addition to his missed chance in the first half, the big-money signing from Shakhtar Donetsk had also been guilty of failing to hit the target with a clear opening in the first leg. Unfortunately for Dortmund that lack of decisiveness in front of goal continue to rear its head.

Arguably his most glaring chance came from a fine through ball from the superb Reus when, having appeared to have done everything right by rounding Reus, he shot against the outside of the post on his left foot. Casillas, overlooked for Diego Lopez in La Liga, then showed he remains one of the world’s great shot-stoppers by getting down low to stop Mkhitaryan’s effort and even more spectacularly to keep Kevin Grosskreutz’s strike at bay as Madrid survived a scare they are unlikely to forget in a hurry.

Borussia Dortmund 2-0 Real Madrid All Goals by all-goals