RB Leipzig put in a marvellous performance to see off defending champions Real Madrid in an emphatic 3-2 victory in the Champions League on Tuesday night.
Los Blancos only needed a draw to confirm their place in this season's knockout stages, but fell behind to two quickfire goals early on in a dire first half performance.
Vinicius Junior managed to pull one back just before half-time, but Marco Rose's side dug in deep to limit Real's chances at goal throughout the second half. The visitors struggled tremendously with the likes of Karim Benzema, Luka Modric and Federico Valverde all unavailable and couldn't fight back despite steady improvement.
Leipzig had a weakened Real on the ropes from the first whistle, with Emil Forsberg forcing a save from Thibaut Courtois from swift build-up play. A feisty start continued, with both sides sharing chances and challenges flying in with force.
Courtois was forced into another impressive save from a corner after 13 minutes, pawing away Josko Gvardiol's header, but the defender reacted before Real's markers to head in from his own rebound for 1-0.
And it was very nearly two just moments later when the ball was floated in behind Real's defence, with Christopher Nkunku bursting through and trying his luck from distance after Courtois failed to sweep up. The Belgian swiftly made amends by tipping a curled effort around his post at full stretch, but poor defending from the resulting corner allowed Nkunku to rifle home a loose ball for 2-0.
Even after falling behind by two goals, Real still couldn't quite regroup, unable to dominate the ball or assert themselves defensively. Crucially, though, they managed to pull back a goal on the cusp of half-time, when Vinicius headed in a smart cross from Marco Asensio.
Inevitably, Real grew in influence after the break and dominated possession in an attempt to make amends for the first half. Wingers were able to pin back Leipzig more effectively and they occupied more territory, but crucially couldn't test Janis Blaswich all too often.
Vinicius had a golden opportunity to level the game with just over 10 minutes to play, but when he found the side netting from a square ball, it allowed Timo Werner to go down to the other end and put the game to bed from the bench, resigning Real to their fate.
A tired challenge from Nkunku resulted in Real winning a penalty in injury time, which Rodrygo converted, but it was too late to force a comeback.
Die Roten Bullen stay second in Group F and are now in a brilliant position to reach the knockout stages, but must avoid a calamity against Shakhtar Donetsk in the final matchday.
RB Leipzig vs Real Madrid player ratings - Champions League
1. Real Madrid (4-3-3)
GK: Thibaut Courtois - 6/10 - Not helped out by his defenders early on.
RB: Lucas Vasquez - 4/10 - Pushed forward when Real were in possession, but it didn't work. Left far too much room in behind.
CB: Eder Militao - 4/10 - Helpless in trying to stop a barrage of forward runs.
CB: Antonio Rudiger - 4/10 - All at sea in the first half and was lucky not to be sent off for a follow through on Schlager early on.
LB: Nacho Fernandez - 3/10 - Tucked inside to create a back three; the back three that Leipzig completely overran.
CM: Aurelien Tchouameni - 5/10 - Improved after the break, but couldn't swing proceedings in his side's favour.
CM: Eduardo Camavinga - 4/10 - A learning curve for the young man. Couldn't dictate the game at all.
CM: Toni Kroos - 4/10 - Does not have anywhere near the same influence or control over a game like his veteran colleague Luka Modric does.
RW: Marco Asensio - 5/10 - Direct and precise with his deliveries.
ST: Rodrygo - 4/10 - A very quiet evening. Lost among the defenders.
LW: Vinicius Junior - 6/10 - A bright spark in attack and a beacon of hope.
SUB: Dani Carvajal (69' for Vasquez) - 5/10
SUB: David Alaba (69' for Nacho) - 6/10 - Surely if he's fit enough to feature, he's fit enough to start. They missed him massively from the first whistle.
SUB: Eden Hazard (76' for Kroos) - 6/10 - Set up the chance that Vinicius should've scored late on.
Manager: Carlo Ancelotti - 4/10 - His hands were tied somewhat with so many of his big hitters out, but seeing how mortal Real looked in the first half was a concern.
2. RB Leipzig (4-2-3-1)
GK: Janis Blaswich - 6/10 - Made a good save to paw away a shot that travelled through several bodies in the first half.
RB: Mohamed Simakan - 8/10 - A concentrated performance capped off with a fantastic, late assist.
CB: Willi Orban - 7/10 - Had to do more to block Vinicius Junior on the cusp of half-time. Much more solid after the break.
CB: Josko Gvardiol - 8/10 - Alive in the box to bag a crucial goal and a mammoth at the back. Huge performance on the big stage.
LB: David Raum - 6/10 - Impressed when in possession.
CM: Xaver Schlager - 7/10 - Dictated proceedings in the middle of the park with an impressive passing range.
CM: Amadou Haidara - 8/10 - Quick into his challenges, never looked panicked and kept play ticking over.
RW: Dominik Szoboszlai - 6/10 - Fired a shot straight at Courtois which could've put his side three goals to the good.
AM: Christopher Nkunku - 8/10 - Confident, technical and direct. Knew his opponent well and continued to wear them down with an explosive display.
LW: Emil Forsberg - 7/10 - Ran hard and was key to creating overloads and counter attacks early on.
ST: Andre Silva - 6/10 - Did the dirty work well, particularly in the second half.
SUB: Timo Werner (69' for Silva) - 8/10 - So unlucky not to score straight off the bench. Made amends later on by putting the result beyond doubt.
SUB: Dani Olmo (69' for Forsberg) - 6/10
SUB: Abdou Diallo (69' for Raum) - N/A
SUB: Kevin Kampl (84' for Haidara) - N/A
SUB: Benjamin Henrichs (89' for Simakan) - N/A
Manager: Marco Rose - 8/10 - Planned for the game excellently and set up his team to be efficient. Leipzig were full of energy, but also tactically sound and ruthless.