The story should have been Kylian Mbappe beginning his quest for a first Champions League title with the perfect opening night.
And while Real did secure victory after late goals from Antonio Rudiger and Endrick, a disjointed display nearly led to Stuttgart taking a point from the Bernabeu.
The German side dominated the early stages as Real relied heavily on Thibaut Courtois to keep the scores level, while the Champions League holders also had a penalty ruled out by VAR after Rudiger went down in the area.
Mbappe, who joined from Paris Saint-Germain in the summer, finished a flowing move early in the second half, but instead of pushing on, Real continued to struggle to control the midfield and Stuttgart got an equaliser midway through the second half before Rudiger headed them in front and Endrick sealed the points with a brilliant run and goal.
Here, Dermot Corrigan breaks down the action.
How did Mbappe perform on his big night?
Mbappe has already experienced the Champions League at the Bernabeu with PSG, with some fantastic individual performances and goals, but ultimate disappointment for his team. Tonight was the first time the Frenchman played in the stadium in the competition wearing his new team’s colours, and he really enjoyed the experience.
Even when most Madrid players had yet to switch on properly in the first half, Mbappe looked the sharpest of his team. He picked the ball up 30 yards out, easily ran past a defender to make room for a shot from the edge of the box which was easily saved by Stuttgart keeper Nubel. Next, out of nothing, he just easily glided past his marker down the left-hand side of the penalty area, before flashing in a shot which tested Nubel much more.
Within 23 seconds of the restart, Mbappe had his goal. When Mittelstadt missed his clearance allowing Rodrygo to motor down the right wing, Mbappe timed his run to remain onside and meet the cross for a simple finish and his first Champions League goal for Madrid (49th in all).
Almost immediately, Mbappe was haring clear again, going himself for goal, even with Jude Bellingham unmarked inside. He finished the game with six shots on goal, four on target, even if just one found the net.
It was not at all a classic night for Mbappe, and there is definitely more to come for the Frenchman, but after waiting so long he is up and running for Madrid in his and their favourite competition.
Why did Madrid lack midfield control?
It was a tremendously exciting ninety minutes, lots of chances at both ends of the pitch, but a lot of this was down to problems in Madrid’s midfield.
Carlo Ancelotti started Aurelien Tchouameni and Jude Bellingham, who were both returning from injury, in the centre. Neither looked completely match fit, coming in and out of the game at times, and neither gave Madrid much control of the ball. It is not usual for a team to come to the Bernabeu and edge the possession stats, but Stuttgart did it, on their return to European competition after more than a decade away.
It was clear how Madrid are missing Toni Kroos, who retired from all football at the end of last season, despite being just 34 years old. Kroos was an automatic starter in Ancelotti’s XI, with his range of passing from deep midfield dictating the pace of even the most difficult games.
Tchouameni and Bellingham have many qualities, but neither have shown they can step into Kroos’ boots and control a game from the centre circle.
Ancelotti’s frustration at how things were going was clear, and just after Stuttgart’s more-than-deserved equaliser, he removed the Frenchman and sent on veteran Luka Modric instead.
Modric, who provided the ball in for Rudiger’s goal, was accompanied in the centre by Fede Valverde, with Bellingham pushed further forward. It did not really fix the problem, and the action continued to burst from end to end, with both teams having chances.
Finding a new way for Madrid to control games, now that Kroos is gone, is one of the big challenges for Ancelotti this season. The Croatian showed his quality with the ball for Rudiger’s winner, but for how long can Modric, 39, be the answer?
Defensive issues continue
Madrid also lost Nacho Fernandez last summer, which was not as dramatic as Kroos’ decision to step away, but also means that Ancelotti is missing a crucial member of last season’s squad.
Nacho was always handy to have around, to fill gaps when needed anywhere across the back four, and he started at centre-back in last year’s Champions League final victory over Borussia Dortmund.
The Bernabeu hierarchy decided against replacing Nacho when he accepted an offer from Saudi Arabia in the summer. Instead 27-year-old Jesus Vallejo, who last started a La Liga game for Madrid in May 2022, was kept on instead of being sent on loan again.
Ancelotti clearly does not rate Vallejo, so he tried right-back Dani Carvajal at centre-back, as he has on occasion in the past. It did not work tonight. Back up Lucas Vazquez had a tough first 45 minutes at right-back, and was hooked at the break, having already picked up a yellow card.
The plan had been to rest Eder Militao, with the Brazilian nursing a muscle issue picked up recently on international duty with Brazil. But Ancelotti had to send Militao on at half-time, given all the chances Stuttgart were making, and how busy Courtois had been.
Even with Militao alongside Rudiger, Madrid still did not look so solid, with Courtois again needed to bale them out. The lack of protection from the midfield did not help, but the overall impression was that Madrid’s squad is at least one defender short, at least until David Alaba returns from his long term knee injury.
How crucial was Courtois (again)?
The opening stages were open and entertaining, with Stuttgart dominating against a sluggish Madrid side who took a long time to get going.
Thibaut Courtois was into action after just two minutes, when it was way too easy for the visitors to break straight through the centre of the pitch, and Jamie Leweling fired a shot from an angle which Courtois did well to parry. A misplaced pass by stand-in right-back Lucas Vazquez then allowed Denis Undav to send winger Enzo Millot through one-on-one with Courtois, who sprang from his line, and Millot sent his shot just wide.
The Belgium international also made saves from both Leweling and Millot again, taking him to four stops and 0.93 goals prevented during the first 20 minutes, in which Stuttgart had a super surprising 71 per cent possession.
Next it was the woodwork which saved Madrid, when Undav’s shot deflected off Dani Carvajal, looped over a stranded Courtois but hit the crossbar.
But we have seen this story many times before in the Champions League. A sluggish Madrid ride their luck, rely on their goalkeeper, but survive and ultimately thrive.
Saturday, September 21: Espanyol (H), La Liga, 8pm BST, 3pm ET
Recommended reading
(Top photo: Angel Martinez/Getty Images)