Real Madrid only needed a point to win their Champions League group but were somewhat off the pace at RB Leipzig on Tuesday.
The memorable victory secured Marco Rose’s side progress on the final matchday if they avoid defeat at third-placed Shakhtar Donetsk, while Madrid – home to Celtic – will top the group if they match Leipzig’s result.
Josko Gvardiol and Christopher Nkunku struck in the opening 18 minutes on Tuesday before Vinicius Junior brought down, but Madrid struggled without Federico Valverde, Luka Modric and Karim Benzema.
Madrid so often produced late drama in last season’s European success, but Rodrygo’s penalty was not enough to salvage a result as Leipzig substitute Timo Werner had already stretched the home side’s lead further.
An acrobatic Andre Silva from Dominik Szoboszlaie’s corner kick forced Thibaut Courtois into a save in the 13th minute.
Nkunku fired wide as Courtois inexplicably raced out of his area, but the forward made amends shortly after with a left-footed drive off the underside of the crossbar.
Rodrygo was thwarted by Janis Blaswich’s superb save but the Leipzig keeper was unable to stop Vinicius heading down Marco Asensio’s right-centre to pull a goal back.
Vinicius spurned a great chance to equalize in the closing stages when he poked just wide of Blaswich to beat and Werner made the winger pay when he tapped home Mohamed Simakan’s drilled cross.
The goal meant Rodrygo’s late penalty strike was a mere consolation after he was brought down by Nkunku.