Zaczęło się od zmarnowanej sytuacji Francuza Karima Benzemy i spięcia Luki Modrica z Aymerikiem Laporte, po którym obaj zawodnicy obejrzeli żółte kartki.
Tempo gry mogło imponować, choć goście mający skromną zaliczkę z pierwszego spotkania akcje konstruowali spokojniej i dokładniej. W 20. minucie pomylił się brazylijski stoper "Królewskich" Eder Militao, ale Portugalczyk Bernardo Silva nie pokonał bramkarza miejscowych.
Akcje szybko przenosiły się spod jednej bramki pod drugą, ale gorących spięć brakowało. Phil Foden groźnie uderzył z dystansu, jednak Thibaut Courtois był na posterunku.
Drugą połowę lepiej rozpoczęli gospodarze. Już praktycznie w pierwszej akcji, po dośrodkowaniu Daniego Carvajala, w świetnej sytuacji spudłował Brazylijczyk Vinicius Junior. To powinien być gol - nie miał wątpliwości portal BBC, choć zapewne sędziowie sprawdziliby, czy nie było spalonego.
Real atakował odważniej, trener Carlo Ancelotti wzmocnił siłę ofensywną posyłając na boisko Brazylijczyka Rodrygo, ale to zmiany dokonane chwilę później przez Josepa Guardiolę dały efekt.
W 72. minucie akcję mistrza Anglii zainicjowali rezerwowi Ilkay Guendogan i Ołeksandr Zinczenko, Bernardo Silva przyspieszył i podholował piłkę pod pole karne gospodarzy, świetnie wypatrzył nadbiegającego Riyada Mahreza, a Algierczyk zaskoczył Courtois strzałem z pierwszej piłki w tzw. krótki róg.
Gościom pozostało kontrolować sytuację, choć to oni mieli lepsze okazje do podwyższenia prowadzenia niż ekipa z Madrytu do wyrównania.
Wreszcie w 90. minucie Benzema zagrał do Rodrygo, który z bliska zdobył kontaktowego gola.
Trybuny Santiago Bernabeu odżyły, sędzia doliczył sześć minut, ale Realowi wystarczyło 88 sekund, by wyrównać. Z prawej strony dośrodkował Carvalaj, a brazylijski super rezerwowy, tym razem głową, pokonał Edersona.
21-latek z Sao Paulo został dopiero czwartym w historii LM piłkarzem, który zdobył więcej niż jedną bramkę w 90. minucie meczu i później. Poprzednio dokonał tego Szwed Emil Forsberg z RB Lipsk w listopadzie 2019, a wcześniej Walijczyk Gareth Bale dla Tottenhamu Hotspur w 2010 i Brazylijczyk Nilmar dla Olympique Lyon w 2004 roku.
Piłkarze z Manchesteru byli tak zszokowani, że wypuścili z rąk niezagrożony wydawałoby się do 90. minuty awans, że wkrótce mogli stracić trzeciego gola, ale bohater wieczoru przegrał pojedynek sam na sam ze swoim rodakiem strzegącym bramki rywali.
Dogrywka rozpoczęła się od kolejnych ataków gospodarzy, którzy jak najszybciej chcieli zadać kolejny cios "zamroczonemu" przeciwnikowi. Udało się to już w 95. minucie, kiedy Benzema ubiegł w polu karnym Rubena Diasa i przewrócił się o wystawioną nogę interweniującego portugalskiego defensora. Do rzutu karnego podszedł rozgrywający najlepszy sezon w karierze Francuz i pewnie pokonał Edersona. 3:1 po jego 15. trafieniu w tej edycji LM i 43. w 43. występie w tym sezonie.
"Obywatele" otrząsnęli się dopiero się pod koniec pierwszej połowy dogrywki, ale strzał głową Phila Fodena efektownie obronił Courtois.
Real awansował do finału zmagań o Puchar Europy po raz 17., a od kiedy rywalizacja toczy się w formule Lidze Mistrzów - po raz ósmy. Ostatnio grał w nim 2018 roku, kiedy po raz 13. sięgnął po najcenniejsze klubowe trofeum na Starym Kontynencie. Żadnego z decydujących meczów Champions League nie przegrał.
Zespół City zmarnował szansę na drugi z rzędu występ w finale; przed rokiem uległ Chelsea Londyn 0:1 i pracujący w Manchesterze od sześciu lat Guardiola co najmniej rok będzie musiał poczekać na triumf w LM z angielską ekipą. Pozostała mu walkę w obronie tytułu mistrza Anglii.
28 maja w Paryżu rywalem "Królewskich" będzie Liverpool, czyli dojdzie do powtórki z 2018 roku. Wtedy w Kijowie Real wygrał 3:1. Teraz faworytem nie będzie, ale podobnie było w 1/8 finału z Paris Saint-Germain, w ćwierćfinale z Chelsea i półfinale z Manchesterem City.
Po raz piąty w finale LM drużynę poprowadzi Ancelotti, czym nie może się pochwalić żaden inny szkoleniowiec. Przegrał tylko finał w 2005 jako opiekun Milanu z... Liverpoolem po rzutach karnych, których bohaterem okazał się polski bramkarz Jerzy Dudek.
Real Madryt - Manchester City 3:1 po dogr. (2:1, 0:0)
Bramki: dla Realu - Rodrygo (90, 90+1), Karim Benzema (95-karny); dla Manchesteru City - Riyad Mahrez (73)
Sędzia: Daniele Orsato (Włochy)
Pierwszy mecz - 3:4
Awans - Real
Real Madryt: Thibaut Courtois - Dani Carvajal, Eder Militao (115. Jesus Vallejo), Nacho, Ferland Mendy - Toni Kroos (68. Rodrygo), Casemiro (75. Marco Asensio), Luka Modric (75. Eduardo Camavinga) - Federico Valverde, Karim Benzema (104. Dani Ceballos), Vinicius Junior (115. Lucas Vazquez)
Manchester City: Ederson - Kyle Walker (72. Ołeksandr Zinczenko), Ruben Dias, Aymeric Laporte, Joao Cancelo - Kevin De Bruyne (72. Ilkay Guendogan), Rodri (99. Raheem Sterling), Bernardo Silva - Riyad Mahrez (85. Fernandinho), Gabriel Jesus (78. Jack Grealish), Phil Foden
Widzów: 60 tys.