Brazilian winger Vinicius turned in Fede Valverde’s enticing low cross in the 59th minute at the Stade de France and Liverpool could not find an equaliser as Jurgen Klopp’s side lost to the Spanish giants in a Champions League final for the second time in five seasons.
The Anfield side will wonder what might have been had the outstanding Thibaut Courtois not pushed Sadio Mane’s shot onto the inside of a post when they were on top in the first half, as they fell short of a trophy treble.
Winners of the English League Cup and FA Cup this season, they just missed out to Manchester City for the Premier League title and were denied a victory here which would have put them level with AC Milan on seven European Cups.
Instead Real have a fifth Champions League in nine seasons to go with their Spanish title, as Carlo Ancelotti becomes the first coach to win European club football’s greatest prize for a fourth time.
Ancelotti was also in charge of Real when they won the 2014 final having also triumphed with AC Milan in 2003 and in 2007, the latter victory coming against Liverpool.
The match kicked off 35 minutes later than the planned 9:00 pm (1900 GMT) start in the French capital after chaos at entrances to the stadium led to fans being unable to get to their seats.
UEFA said it was “sympathetic” towards those affected and put the huge build-ups of supporters at gates down to “thousands of fans who had purchased fake tickets which did not work in the turnstiles”.
Tear gas was also fired by police as a small number of people could be seen trying to scale fences around the perimeter of the groud.
The final was only moved to the French capital after Saint-Petersburg was stripped of the game following Russia’s invasion of Ukraine in February.
The delayed kick-off may have been responsible for the slow start to the game itself, as it took 16 minutes before there was an incident of note, Mohamed Salah turning a low Trent Alexander-Arnold cross towards goal only for Courtois to save.
Liverpool were seen as favourites to avenge their loss to the Spanish giants in the 2018 final in Kyiv and they began to take control of the game.
Mane came agonisingly close to opening the scoring in the 21st minute as he skipped his way into a shooting position inside the box only for Courtois to tip his net-bound shot onto his right-hand post.
Klopp’s side, with Fabinho and Thiago Alcantara starting in midfield after overcoming fitness worries, were on top but could not turn their superiority into a lead.
Real, meanwhile, created almost nothing in the first half with Karim Benzema quiet, but their captain briefly thought he had got the breakthrough two minutes before the interval.
The Frenchman prodded home after the ball broke back to him inside the area but the offside flag was raised.
The decision to disallow the goal was upheld after a lengthy VAR check, despite Fabinho deflecting Valverde’s touch through to Benzema.
Yet Ancelotti’s side kept their nerve and were rewarded with the goal as the hour mark approached.
Valverde drove forward down the right before firing a low ball across the face of goal for Vinicius to turn it in at the far post past his Brazilian national team colleague Alisson.
Just like in 2018, Real had drawn first blood, but this time there was no need for them to send on Gareth Bale in order to ensure victory.
Courtois was superb, flying to his right to keep out a Salah curler before two saves in quick succession late on.
First the Belgian got down low when substitute Diogo Jota deflected Salah’s effort towards goal, and then he produced a strong arm to turn a Salah strike behind.
It was Real Madrid’s night.