A csodálatos fordítás estéje a játékosok nagyszerű fogadtatásával kezdődött, a szurkolók kitettek magukért a csapatbusz érkezésekor. A mérkőzés első szakaszában Ancelotti csapata irányította a játékot. Először Benzema került közel a gólhoz, ám a 4. percben megeresztett fejese kapu fölé ment. A City lassan kezdett megérkezni a meccsbe, és megpróbáltak nyomást gyakorolni Courtois kapujára. A 15. percben De Bruyne lőtt távolról, ám a belga hálóőr résen volt, öt perccel később pedig nagyot védett Bernardo Silva közeli próbálkozásánál. Aztán Vini Jr. lőtt kapásból kapu fölé.
A 23. percben az angol együttes került közel a gólhoz, ám Gabriel Jesus lövése elkerülte a felső sarkot. Toni Kroos egy szabadrúgást végezhetett el nem sokkal ezután, ám a sorfalon sikeresen túljutó lövésből végül szöglet lett. A mérkőzés kiegyenlített volt, a Madrid kereste a góllövés lehetőségét, miközben a City Foden révén ismét tesztelte Courtois-t, ám a szünetre mégis 0-0-val vonultak a csapatok.
A Real Madrid remekül kezdte a második félidőt, 10 másodperc után helyzetbe kerültek Vini Jr. révén, azonban a jobbról nagy erővel érkező labdára érkező brazil nem találta el a kaput. Gabriel Jesús válaszolt nem sokkal később, az ő lövése Courtois karjaiban landolt. A Madrid élesebbnek tűnt ebben az időszakban, magasan letámadott, folyamatosan veszélyezetett a City tizenhatosánál. Guardiola együttese állta a sarat, és lassan kezdett újra magához térni. A 73. percben aztán egy kontratámadás végén Mahrez lőhetett a jobb oldalról nagy erővel a kapuba, Mendy és Courtois sem tudott közbeavatkozni. 0-1.
Ancelotti fiai előtt egy rendkívül nehéz feladat állt, hiszen a párharc tekintetében már kétgólos hátrányba kerültek, így a hosszabbításhoz két gólra lett volna szükségük. A hazai szurkolók nem adták fel a reményt, ahogy a játékosok sem, mindenki hitt egy epikus lezárásban. A City közben próbálta végleg lezárni a meccset, Courtois és Mendy előtt is adódott komoly feladat Cancelo majd Grealish próbálkozásainál.
A meccsnek azonban még messze nem volt vége. A Madrid soha nem adja fel, különösen a Bernabéuban és a Bajnokok Ligájában. A 90. percben jött az első gól. Camavinga adott tűpontos labdát a bal oldalon kiugró Benzemának, a francia kapásból tette középre a játékszert, Rodrygo pedig rendkívül okos helyezkedéssel és higgadt befejezéssel oldotta meg a helyzetet, védhetetlenül lőtt a kapuba. 1-1.
Egy perccel később Carvajal küzdött a labdáért a jobb szélen Grealish-sel, majd kissé kisodródva be tudta küldeni a labdát középre, ahol Asensio csúsztatott bele a beadásba, ám mögötte még ott volt Rodrygo, aki még ezek után is a kapuba tudta fejelni a labdát, nem is akárhogy. 2-1! A brazilnak még adódott egy lehetősége, majdnem meglőtte a maga harmadik gólját, ám hosszú labdát kapott, amit nem érhetett el. Jöhetett a hosszabbítás.
A Bernabéu tombolt, a Madrid mindent egy lapra feltéve jött ki az utolsó fél órára. Erőfeszítéseik nem sokkal később meghozták gyümölcsüket, hiszen Rúben Dias szabálytalankodott a büntetőterületen belül Karim Benzemával, szerelési kísérlet közben megtaposva a franciát, így a játékvezető tizenegyest ítélt. A BL-sorozat legeredményesebb játékosa aztán oda is állt a labda mögé és rendkívül higgadtan, elfektetve a kapust lőtt a jobb alsóba. 3-1! A munka nehezén túl volt a csapat, de még sok idő volt hátra, a City pedig megpróbálta bevenni Courtois kapuját. A kapus Foden fejesét védte, majd Fernardinhónak sem sikerült a kipattanót értékesíteni. Nyugodtan mondhatjuk, hogy csak szenvedések árán juthat el valaki egy BL-döntőig, ez ezen az estén is bebizonyosodott, de most itt az ideje az ünneplésnek és a csapat már a párizsi döntőre koncentrálhat.