Remarkably and improbably, it will be Liverpool and Tottenham playing for the Champions League title on June 1.
The all-English final in Madrid seemed all-but impossible before back-to-back, second-half comebacks in both semifinals.
It was a fitting way for the finalists to emerge from a dramatic knockout phase.
Here’s a look at some of the best games from this season’s Champions League:
Three-time defending champion Real Madrid was a huge favorite to reach the quarterfinals after beating Ajax 2-1 in the first leg in Amsterdam. But a young, vibrant Ajax team ended Madrid’s reign in a 4-1 rout that set the tone for the rest of the competition — no storied club was safe, not even on home turf.
Madrid’s humiliation was highlighted by how captain Sergio Ramos came to miss the second leg.
Ramos committed a 90th-minute foul in Amsterdam to intentionally get a yellow card. He had calculated that a suspension from the return match was worth clearing his disciplinary record for the matches to come.
PARIS SAINT-GERMAIN-MANCHESTER UNITED
One day later, video review helped Manchester United pull off another comeback win.
United, revitalized by interim manager Ole Gunnar Solskjaer after grim times under Jose Mourinho, faced Paris Saint-Germain in the last 16 trailing by two goals and with Paul Pogba suspended.
A pair of first-half goals from Romelu Lukaku gave United hope, and the 3-1 victory was secured by a stoppage-time penalty from Marcus Rashford.
But the drama came from how the penalty was awarded, using technology UEFA had only weeks earlier decided to include.
Diogo Dalot’s long-range shot seemed to be heading high over the goal until the ball hit the arm of PSG defender Presnel Kimpembe.
The penalty was given after a lengthy review.
Another game ultimately decided by video review — overturning what even Tottenham thought was a stoppage-time goal by Manchester City forward Raheem Sterling — came in the quarterfinals.
There were three lead changes early in the match and a Champions League record five goals in the first 21 minutes.
Man City were set to advance when Sergio Aguero made it 4-2 in the 59th minute, but Tottenham regained control in the 73rd when Fernando Llorente scored with his hip to make it 4-3. That goal stood after a review for possible handball.
The stadium later erupted, with City manager Pep Guardiola galloping down the touchline in ecstatic leaps, when Sterling scored after a misplaced pass by Tottenham midfielder Christian Eriksen sent Aguero clear.
Unnoticed at first, Eriksen’s pass had glanced off a City player’s leg. Aguero was offside, the goal was disallowed, and Tottenham was reprieved.
To reach the final, Liverpool had to overturn a three-goal deficit against a Barcelona team led by Lionel Messi.
And they had to do it without two of their top forwards, injured teammates Mohamed Salah and Roberto Firmino. But if it was going to happen anywhere, it would be under the floodlights on a European soccer night at Anfield.
Stand-in striker Divock Origi scored early, and halftime substitute Georginio Wijnaldum quickly added two more to make it 3-3 on aggregate.
Barcelona eventually was eliminated when 20-year-old Liverpool fullback Trent Alexander-Arnold tricked a sleeping defense. His quick pass from a corner found Origi for the winning goal.
In a competition where big leads have had a habit of disappearing, Tottenham pulled of the final trick with almost the final kick.
Ajax won in London 1-0 in the first leg and scored two more in the first half on Wednesday.
Then came Lucas Moura, who might not even have played if Tottenham striker Harry Kane hadn’t been injured. The Brazil forward scored in the 55th and 59th minutes to spark the revival.
Incredibly, euphorically, Moura scored again in the sixth minute of stoppage time, giving his team an astonishing 3-2 win and leaving Tottenham manager Mauricio Pochettino on his knees and in tears on the field.