A late double from Federico Valverde and Marco Asensio earned Real Madrid an unconvincing 2-0 win over RB Leipzig in the Champions League.
The defending champions were without the injured Karim Benzema up front, and Los Blancos clearly missed their talisman as they struggled to generate any momentum against a Leipzig side who were lively on the counter attack.
Indeed, the Bundesliga upstarts enjoyed the best openings of a rather timid 45 minutes, as Christopher Nkunku and Emil Forsberg both went close. Timo Werner was also a threat on the break, using his pace to unsettle former Chelsea teammate Antonio Rudiger, but like his Stamford Bridge days, he didn't look too convincing in front of goal.
Real's main threat came via Vinicius Junior, who was full of trickery and silky touches on the left wing, but Carlo Ancelotti's side lacked the usual verve and zip they can often generate playing in front of a packed Santiago Bernabeu.
But with the game heading towards a share of the spoils, Real finally clicked into gear and took the lead with just over ten minutes to go.
Vinicius jinked inside neatly before picking out Valverde with a crisp, low pass across the penalty area, and the Uruguayan composed himself before firing an unstoppable effort past the despairing dive of Peter Gulacsi.
The points were then sealed in injury time as Toni Kroos' fizzed low corner was wonderfully turned home by Asensio - the Spaniard gliding a first-time effort in off the far post with his instep.
Real Madrid player ratings
GK: Thibaut Courtois - 7/10 - Solid and dependable as ever, making three saves on the night.
RB: Dani Carvajal - 6/10 - Played a few hospital passes but always found a teammate safely. Grossly underrated because of past injury problems.
CB: Antonio Rudiger - 6/10 - Saw plenty of the ball and looked to advance play when possible. Made a couple of good interceptions and recovered possession on numerous occasions.
CB: Nacho Fernandez - 6/10 - An obvious understudy to Eder Militao but did a reasonable job against a threatening Leipzig front line.
LB: David Alaba - 6/10 - Shunted back out to the left flank after a period of playing in central defence. Created a few chances but arguably now looks more comfortable in the middle.
DM: Aurelien Tchouameni - 7/10 - Casemiro's successor has all the tools to become one of Europe's very best. Understands the game so well for a player so young.
CM: Luka Modric - 6/10 - Incredible to think that the Croatian, who glides across the field so effortlessly, is now 37. Has put in more efficient displays but did well on the whole.
CM: Eduardo Camavinga - 6/10 - Neat and tidy in possession but lacked the impetus to get Real Madrid going.
RF: Federico Valverde - 8/10 - Stepped up when Real Madrid needed him, firing a terrific low drive into the corner.
CF: Rodrygo - 5/10 - Filling Karim Benzema's boots is borderline impossible but it's clear that Rodrygo's future is not down the middle.
LF: Vinicius Junior - 8/10 - An inventive live-wire on the left flank, Vinicius caused problems whenever Real were able to get him into advanced positions. Great play to set up Valverde's opener.
SUB: Marco Asensio (64' for Camavinga) - 7/10 - A wonderful, wonderful finish sealed the deal for Real in injury time.
SUB: Toni Kroos (81' for Modric) - 6/10 - The German's low corner was turned home by Asensio for a more glossy scoreline.
SUB: Ferland Mendy (81' for Alaba) - N/A
SUB: Mariano (85' for Vinicius) - N/A
SUB: Dani Ceballos (85' for Rodrygo) - N/A
Manager: Carlo Ancelotti - 6/10 - Will have been disappointed by his side's lack of intensity - something that didn't look like changing until Valverde's moment of quality. Could have changed things up earlier but ultimately was proved right by decision to keep faith with those on the field.
Subs not used: Lopez (GK), Lunin (GK), Vallejo, Odriozola, Hazard
RB Leipzig player ratings
GK: Peter Gulacsi (6); RB: Mohamed Simakan (6), CB: Willi Orban (6), CB: Abdou Diallo (5), LB: David Raum (6); DM: Amadou Haidara (7), DM: Xaver Schlager (6), RM: Dominik Szoboszlai (6); AM: Emil Forsberg (7), LM: Christopher Nkunku (7), CF: Timo Werner (6)
Subs: Benjamin Henrichs (N/A), Kevin Kampl (N/A), Yussef Poulsen (N/A), Andre Silva (N/A)
Subs not used: Blaswich (GK), Halstenberg, Gvardiol, Novoa