Real Madrid secured a narrow late victory over Union Berlin in their Champions League opener in Group C, edging out the German side with a 1-0 win at the Bernabeu.
A flat opening 45 was well managed by Union Berlin, with the Germans comfortably restricting Madrid to half-chances. In fact, the only shot on target the home side could muster was a tame Joselu header straight into the hands of the goalkeeper as the Berlin continued to frustrate their hosts.
Madrid were much improved in the second half and created plenty of opportunities, but were often left frustrated by Frederik Ronnow and a stubborn Union Berlin defence. However, it was a 94th minute Jude Bellingham tap-in that secured a stoppage-time victory for the Spanish side to put three points on the board in their first European game of the season.
How the game unfolded
The general consensus prior to kick-off at the Bernabeu was that Champions League debutants Union Berlin were travelling to the Spain to sit back and defend, and that was largely the case.
Forward duo Sheraldo Becker and Kevin Behrens did combine well within the opening moments before the latter saw his shot blocked well by Antonio Rudiger. It was an early warning sign for Madrid who themselves posed plenty of attacking threat, with Joselu unable to do better with two close-range headers in the first five minutes.
If there were any nerves among the Union Berlin side, you wouldn't have known based on their measured performance in the first half. While Madrid continued to dominate possession and territory, Urs Fischer's side limited them to shots from distance, while looking lively, even if fairly blunt in the end, on the counter-attack.
Despite the best creative efforts of Jude Bellingham, Madrid were unable to cause Union Berlin any notable problems in the first half, with plenty for Carlo Ancelotti to ponder in the dugout.
However, it was a much brighter start to the second half by Madrid. Rodrygo saw an effort well saved by Frederik Ronnow from a tight angle before the Brazilian's acrobatic volley slammed against the post seconds later, with Joselu also testing the goalkeeper from ten yards shortly after.
Madrid's grip was tightening as the white shirts began to flood the Union Berlin half with more regularity and it was again Joselu who would spurn an opportunity to put the hosts in front as Ronnow tipped his header on to the woodwork with half-an-hour remaining.
Efforts from Luka Modric, Antonio Rudiger and Rodrygo came and went, as well as half-hearted Madrid penalty appeals for a handball from Danilho Doekhi, but it was Jude Bellingham - yes, him again - with a late goal to break Union Berlin hearts.
The midfielder reacted quickest to a deflected Federico Valverde strike to tap into an empty net, as Madrid breathed a huge sigh of relief in their difficult Champions League opener.
Real Madrid player ratings vs Union Berlin (4-3-1-2)
GK: Kepa - 5/10 - Had nothing to do from a shot-stopping perspective, but looked a little shaky when dealing with the odd ball into the box.
RB: Lucas Vazquez - 6/10 - Performed admirably defensively, albeit he wasn't put under much pressure. Could have offered more width to Real Madrid down the right flank.
CB: Antonio Rudiger - 7/10 - Dealt with Union Berlin's counter-attacking threat well and also posed some aerial threat in the opposition penalty area.
CB: Nacho - 7/10 - Very strong performance up against the physical Behrens and the pacy Becker. Such a consistent option for Ancelotti and Real Madrid.
LB: David Alaba - 6/10 - A similarly fierce performance to Nacho, but perhaps lacked a little attacking threat when at left-back.
CM: Luka Modric - 7/10 - Still plenty of life in the old dog yet, often exhibiting his wonderful passing range. Couldn't quite make the vital contribution in attacking areas.
CM: Aurelien Tchouameni - 5/10 - Yellow card for a nasty tackle on Alex Kral late in the first half and several wayward long-distance efforts. Comfortable in possession but not a commanding performance from the Frenchman.
CM: Eduardo Camavinga - 6/10 - Recycled the ball well and helped his side sustain pressure, but ultimately didn't make any significant contributions.
CAM: Jude Bellingham - 7/10 - It's him again. Positive in attacking spaces even if not at his absolute best. Managed to find a winner for Madrid after reacting quickly in the box.
ST: Rodrygo - 7/10 - Looked the most likely for Madrid for the majority of the game and had a couple of good efforts rebuffed by Ronnow and the woodwork.
ST: Joselu - 6/10 - So many chances fell to his feet and he made a decent fist of several of them, but ultimately lacked a clinical edge. The positive is he was in the right places at the right time, the negative is he couldn't find the back of the net.
SUB: Federico Valverde (65' for Tchouameni) - 6/10 - Offered more directness and pace from midfield than Tchouameni or Camavinga. His shot created the winner even if it was somewhat fortunate.
SUB: Toni Kroos (65' for Camavinga) - 6/10 - Controlled posession well when he arrived on the pitch.
SUB: Fran Garcia (73' for Nacho) - 6/10 - More offensive-minded than Alaba, but wasn't too involved in the action.
SUB: Brahim Diaz (80' for Modric) - N/A
Subs not used: Lunin, Vinicius Tobias, Mendy, Garcia, Ceballos
Carlo Ancelotti - 5/10 - Probably didn't make his substitutions early enough and had to rely on a fortunate Bellingham winner to save the day late on.