Marcel Sabitzer scored late and set up two more goals to send Borussia Dortmund into the Champions League semifinals with a helter-skelter 4-2 win over Atletico Madrid on Tuesday.
After losing the first leg of their quarterfinal 2-1 in Madrid, Dortmund had to come from behind twice over two legs to advance 5-4 on aggregate.
Julian Brandt opened the scoring to level the tie before Sabitzer set up Ian Maatsen to give Dortmund a 2-0 lead on the night.
Atletico coach Diego Simeone responded with three changes at the break and they all paid off. A Mats Hummels own goal and goal from substitute Joaquïn Correa put the Spanish side back in front on aggregate.
Then Sabitzer set up Niclas Fullkrug in the 71st minute for the Germany forward's first goal after nine scoreless games, and Sabitzer scored himself three minutes later to send Dortmund into the last four.
It stretched Dortmund's unbeaten run at home in the Champions League to 10 games.
Atletico needed goalkeeper Jan Oblak at his best. He denied Brandt, then Karim Adeyemi, before Brandt finally made the breakthrough in the 34th, firing a powerful shot in off Oblak's leg from a difficult angle after eluding former teammate Axel Witsel.
Sabitzer then combined with Maatsen, who surged past two defenders and fired the ball inside the far post in the 39th. It was the Dutch defender's first Champions League goal.
But Atletico only needed four minutes after the break to level the tie when Hummels' attempted clearance of Mario Hermoso's header ended in his own net.
Correa should have scored shortly afterward when he nudged the ball wide. Simeone — dressed sharply in a black suit — flopped to the ground in frustration.
Correa made no mistake in the 64th when he fired in a rebound after his first attempt was blocked.
It put the visitors back in front, but Sabitzer was involved in both goals as Dortmund struck twice in three minutes to send the home fans wild.
Oblak prevented worse for Atletico, which became one of two Spanish teams knocked out Tuesday after Barcelona's 4-1 loss at home to Paris Saint-Germain.
Dortmund next play PSG in the semifinals.