Det är bäddat för en rafflande semifinalretur i Madrid nästa vecka. Men ett tag såg det faktiskt ut som att Manchester City skulle avgöra stormötet redan under matchens absoluta inledning.
Efter elva spelade minuter såg Real Madrid-spelarna mest ut som att de inte fattat vad som precis hänt.
Det som hänt var att hemmalaget anfallit från först den ena, sedan den andra kanten, och på så sätt gått upp i en tidig 2–0-ledning. Först var det Kevin De Bruyne som i den andra minuten kastade sig fram och nickade in ledningsmålet, fint framspelad från höger av Riyad Mahrez. Snart därefter kom inlägget i stället från vänster, när De Bruyne hittade in till Gabriel Jesus som något turligt lyckades vända bort Real Madrid och sedan enkelt satte dit 2–0.
Nära ytterligare mål
City hade flera chanser att också göra 3–0, men både Mahrez och Phil Foden missade var sitt fint läge att utöka.
Och ger man Real Madrid, och en viss Karim Benzema, chansen att komma tillbaka, så gör de ofta det.
I den 33:e minuten skickade Ferland Mendy in ett inlägg från vänster mot straffområdet. Det såg inte sådär vansinnigt farligt ut, men Benzema är en anfallare som kan tälja guld av halvchanser. En vältajmad volley senare var det således reducerat, och fransmannen hade gjort sitt 13:e Champions League-mål för säsongen.
Matchen skulle dock svänga några gånger till, och efter pausvilan dröjde det inte länge innan City gjort 3–1.
Återigen var inlägg melodin för dagen, när Fernandinho hittade en helt omarkerad Phil Foden som i lugn och ro kunde måtta och sedan nicka in en ny tvåmålsledning till hemmalaget.
Laporte otursgubbe
Två minuter senare var det reducerat på nytt, och det gick undan. Reals Vinícius Júnior vände bort en motståndare på vänsterkanten och spurtade sedan hela vägen in i straffområdet innan han rullade in 2–3.
Sedan följde knappt 20 mållösa minuter innan det small igen. En lös boll vid Reals straffområde plockades upp av Bernardo Silva, som inte tvekade innan han borrade upp 4–2 i det närmsta krysset.
Då stod City med ena benet i Champions League-finalen. Men Karim Benzema var inte klar.
Med mindre än tio minuter kvar att spela fick City-backen Aymeric Laporte bollen på armen, och domaren hade inget annat att göra än att blåsa straff.
Fram klev Benzema och var hur kall som helst när han chippade in sitt 14:e mål för säsongen.
Returen i Madrid spelas nästa onsdag.