Real Madrid kept their Treble hopes alive in extraordinary fashion after Antonio Rudiger headed home an extra-time winner against Real Sociedad to book their place in the Copa del Rey final.
Substitute Rudiger climbed highest to meet Arda Guler's 115th-minute corner to flick a header beyond visiting keeper Alex Remiro, sparking wild celebrations from the home fans.
In a terrific end-to-end second half, five goals were scored in 21 minutes as both sides looked to confirm their spot in the Seville showpiece.
With a 1-0 deficit to overcome from the first leg, Sociedad struck in the 16th minute through Ander Barrenetxea.
But teenage Brazilian striker Endrick put the Madrid outfit back in front on aggregate with a fine chip for the 30th-minute leveller.
A David Alaba own goal in the 72nd minute again put the visitors ahead on the night and sparked an incredible scoring spree in an amazing climax.
Mikel Oyarzabal made it 3-1, and 3-2 on aggregate, to Sociedad eight minutes later with a low drive that also struck Alaba, but England midfielder Jude Bellingham restored parity moments later with a lovely volleyed finish.
Aurelien Tchouameni thought he had headed Carlo's Ancelotti's side into the final in the 86th minute after a horrible attempt to save from goalkeeper Remiro.
The drama was not finished there as Sociedad captain Oyarzabal rose highest to power in a header in added time to put his side back ahead, forcing extra time at the Bernabeu.
But Rudiger broke their hearts in the extra period to make it 5-4 on aggregate.
Madrid's pursuit of a first Treble still remains possible as they sit three points behind La Liga leaders Barcelona, face Arsenal in the Champions League quarter-finals and are looking to win the Copa del Rey for a 21st time.
Barcelona visit Atletico Madrid on Wednesday to determine who will play Real Madrid in the final, with their last-four tie also finely poised after an enthralling 4-4 first-leg draw.