Det spanska storlaget kom till spel utan stjärnor som Federico Valverde, Luka Modric och, inte minst, färske Ballon d'Or-vinnaren Karim Benzema.
Medan "Marängerna" såg lite sömndruckna ut verkade RB Leipzig ha fyllt på depåerna rejält med energidryck och satte tonen direkt. Redan i första minuten var Emil Forsberg nära att ge hemmalaget ledningen i Tyskland.
Första målet skulle dock inte dröja särskilt länge. I 13:e minuten tilldömdes Leipzig en hörna. André Silva nådde högst, Thibaut Courtois klarade men på returen stötte Josko Gvardiol in 1–0 i öppet mål.
Succébytet avgjorde
Bara fem minuter senare small det igen. Ny hörna, kort variant denna gång, och bollen letade fram till Christopher Nkunku. Leipzigs storstjärna visade ingen pardon och fördubblade ledningen med ett knallhårt skott ribba in.
Strax före halvtid skulle Real hitta en reducering. Marco Asensio bröt fram och hittade Vinícius Júnior panna. 1–2 in i halvtidspausen.
Lagen bytte halvchanser med varandra innan hemmatränaren Marco Rose gjorde sitt drag. Ett trippelbyte där Emil Forsberg klev av och Timo Werner in skulle visa sig lyckat.
Werner var nära direkt med ett friläge men missade precis. Detsamma gjorde Vinícius Júnior från kort avstånd. Det skulle bli en kostsam miss.
Vidare trots förlusten
I den 81:a minuten sprang högerbacken Mohamed Simakan sig ren och spelade in bollen framför mål. Där väntade Timo Werner som enkelt placerade in 3–1.
På stopptid kunde Real reducera från straffpunkten genom Rodrygo, men Leipzig kunde hålla undan och säkra tre blytunga poäng. För tyskarna räcker det nu med en poäng i sista omgångens avgörande batalj mot Sjachtar Donetsk.
Trots förlusten, Reals första den här säsongen, fanns det anledning för bortalaget att fira på planet hem. På Celtic Park spelade Celtic och Sjachtar oavgjort, 1–1, vilket innebär att Real Madrid är vidare till åttondelsfinal.
Haaland mållös i återkomsten
För Manchester Citys Erling Haaland blev återkomsten till Westfalenstadion och mötet med tidigare klubben Borussia Dortmund ett att glömma. Norrmannen byttes ut i halvtid, utan att ha avlossat ett enda skott, vilket inte riktigt hör till vanligheterna.
Matchen då? Den slutade mållös, 0–0. City fick en gyllene möjlighet att ta ledningen när man tilldömdes straff efter 58 minuter. I Haalands frånvaro klev Riyad Mahrez fram – och sköt rakt på Gregor Kobel i hemmamålet.
Ett resultat hemmalaget hade anledning att känna sig nöjt med då Dortmund nu är klart för slutspel, vilket även City är sedan tidigare.
Italienska storklubben utslaget
För italienska storlaget Juventus är Champions League-äventyret över för den här gången. Det fanns en gnutta hopp kvar inför bortamötet mot Benfica men portugiserna var obevekliga.
Slutresultatet skrevs till 4–3 och Benfica är därmed klart för åttondelsfinal medan "Juve" får försöka knipa tredjeplatsen före Maccabi Haifa. Israelerna hade inte mycket att sätta emot PSG där stjärntrion Neymar, Kylian Mbappé och Lionel Messi hade stor show och vann med 7–2. PSG gör Benfica sällskap till slutspelet.
I övrigt gick Milan upp på andraplatsen i grupp E efter att ha besegrat Dinamo Zagreb med 4–0 på bortaplan. En helt avgörande match mot RB Salzburg väntar i sista omgången.