Madrid striker Joselu, on as a substitute, sent a tame effort at Leipzig goalkeeper Peter Gulacsi before Dani Olmo hit the woodwork.
Real Madrid advanced to the Champions League quarterfinals with a 1-1 second-leg draw against RB Leipzig on Wednesday, winning 2-1 on aggregate.
The record 14-time champions were far from their best, but they did just enough in the two legs of the last-16 match to defeat their Bundesliga opponents.
Despite Leipzig shading the game, Vinicius Junior opened the scoring in the 65th minute after being set up well by Jude Bellingham.
Willi Orban quickly levelled for the visitors but they could not find a second goal to force extra-time at the Santiago Bernabeu.
Madrid coach Carlo Ancelotti warned his players before the game they needed to be at their best to progress and showed his cautious side by playing four midfielders behind Bellingham and Vinicius.
The Italian brought Aurelien Tchouameni forward into defensive midfield, also deploying Eduardo Camavinga, Fede Valverde and Toni Kroos, as he looked to protect the 1-0 first-leg lead.
However Ancelotti’s gameplan stunted Madrid’s own attacking game without completely stifling Leipzig’s.
The German side had the better of the first half, albeit without carving out clear chances until just before the break.
Andriy Lunin palmed away a strike from Xavi Simons, on loan from Paris Saint-Germain, while Lois Openda rifled a shot into the side netting.
Ancelotti shifted back to a more typical set-up for the second half, introducing Rodrygo at half-time for Camavinga.
It opened up the game at both ends and Vinicius began to have more influence after a quiet first half — albeit not always for good. The Brazilian was booked for barging Orban in the back and then shoving the Leipzig captain.
Vinicius’ frustration quickly turned to joy though when Bellingham burst forward, showing superb timing to release the forward, who fired into the top corner at the end of a smart counter-attack.
Toni Kroos started the break and despite being outnumbered, Bellingham and Vinicius showed their decisive quality to send the hosts ahead.
Madrid’s delight was short-lived though, with Orban levelling just three minutes later.
The Hungarian defender’s excellent diving header from David Raum’s cross set up a gripping denouement.
Madrid striker Joselu, on as a substitute, sent a tame effort at Leipzig goalkeeper Peter Gulacsi before Dani Olmo hit the woodwork.
The former Barcelona youth player’s lob dropped on to the crossbar and out of play as thousands of Madrid fans held their breath.
Europe’s most crowned side were taken to the wire by Marco Rose’s side but steeled themselves and held on to progress.