Haaland er oppe i 49 mesterligamål i karrieren. I løpet av kvelden både tangerte og passerte han Zlatan Ibrahimovics målfangst i turneringen og er ypperste skandinav, men det var mager trøst.
Nordmannens ledermål i det 19. minutt var hans første på fem kamper mot Real Madrid. Kylian Mbappé misbrukte flere store sjanser før hans leggtreff på volley overlistet Ederson og ga 1-1 i det 60. minutt.
Haaland scoret igjen på straffespark ti minutter før full tid etter at Dani Ceballos felte Phil Foden på 16-meterstreken, men innbytter Brahim Diaz utlignet i det 86. minutt etter svakt spill av en ellers god Ederson i City-målet.
To minutter på overtid rullet Jude Bellingham inn vinnermålet etter at Vinicius Junior serverte ham etter nytt defensivt City-rot.
De tre siste årene har vinneren av duellen mellom Real Madrid og Manchester City i cupspillet vunnet hele turneringen. Den spanske klubben er nå stor favoritt til å avansere igjen.
Haalands første scoring mot Real Madrid ble et vendepunkt i tirsdagens storkamp. Gjestene hadde nemlig vært klart best og kunne ha ledet med flere mål før City leverte et praktangrep i det 19. minutt.
Josko Gvardiol slo et framspill til Haaland fra egen halvdel. Nordmannen vant en løpsduell med Raul Asencio, la ballen igjen til Jack Grealish og startet inn i feltet. Det hadde også Gvardiol gjort, med et sugende løp.
Grealish løftet ballen inn i bakrom, der Gvardiol dempet ballen på brystet til Haaland, som bredsidet den i mål fra hjørnet av 5-meteren.
Gode råd
VAR-rommet brukte nesten fire minutter på å avgjøre om Haaland var bak ballen da Gvardiol brystet den til ham, men til sist kunne feiringen fullføres.
Mens spillerne ventet på VAR-avgjørelsen, fanget kameraene Haaland som sa noe til Vinicius Junior. Ifølge leppelesere var det et råd om hvordan man scorer mål: «Du må skyte!»
Real Madrid-stjernen hadde hatt flere store sjanser, blant annet en hvor han valgte å spille til Ferland Mendy da han hadde ballen sju meter fra mål.
Fra start så det ut som det kunne bli en stygg kveld for Manchester City. Med tempo, teknikk og presise pasninger skar gjestene gjennom forsvaret gang på gang, men fikk ikke ballen i mål.
I det 9. minutt pekte dommeren på straffemerket da Vinicius Junior ble felt av Ederson, men City ble reddet av en hårfin offside i forspillet.
To minutter senere spilte Vinicius Junior fram Kylian Mbappé, men Ederson reddet hans avslutning. Ett minutt senere kom den nevnte situasjonen, da Mendy ble spilt fram av Rodrygo og serverte Vinicius Junior i ypperlig posisjon. Han valgte å spille tilbake til Mendy, som var forbi keeper, men Nathan Aké blokkerte skuddet.
Les også: Manchester City kollapset mot PSG etter Haaland-scoring
Med på leken
Etter scoringen hadde Vinicius Junior en dupper som traff tverrliggeren, men resten av omgangen var City med på leken og kom til flere gode sjanser til å øke.
I det 37. minutt skjøt Haaland fra spiss vinkel i feltet etter et godt angrp. Ballen endret retning på Federico Valverde og kunne blitt lei for Thibaut Courtois i målet, men Asencio skled inn og blokkerte til corner.
På hjørnesparket fra Kevin De Bruyne vant Manuel Akanji i lufta, og ballen spratt på tverrliggeren.
På overtid i omgangen ble Mbappé satt opp av Rodrygo til en ganske fri avslutning i feltet, men han skrudde ballen høyt over mål.
I første minutt av den andre omgangen kom Haaland til en stor mulighet etter at Phil Foden vant ballen ved motstanderens hjørneflagg. Fra god posisjon skrudde han ballen i tverrliggeren helt borte i lengste kryss.
Les også: PSG best i helfransk CL-oppgjør – brennhete Dembélé med ny måldobbel
Dramatikk
I det 55. minutt leverte Ederson en flott redning da Mbappé hogg til på et innlegg fra høyre, men fem minutter senere skulle franskmannen lykkes.
Et frispark gikk i muren, men Dani Ceballos fikk returen og løftet ballen i bakrom. Mbappé startet perfekt, men traff dårlig. Leggtreffet hans lurte Ederson, og ballen dalte ned i målet.
Etter utligningen hadde Real Madrid noen store sjanser til å avgjøre. Valverde skjøt rett utenfor, og Jude Bellingham tvang Ederson til en flott redning.
I det 77. minutt gikk Foden på et raid, passerte Mendy og ble felt av Ceballos. Han vred seg i smerte lenge, og først i det 80. minutt kunne Haaland skyte straffen i mål helt inne ved stolpen.
Da så det bra ut for City, men på slutten raknet det fullstendig.
Les også: Ryerson og Dortmund slo tilbake med 3-0-seier i Portugal