Real Madrid endured a nervy night against RB Leipzig before they booked their place in the Champions League quarter-finals with a 2-1 win on aggregate after a 1-1 second-leg draw.
Carlo Ancelotti’s team held a one-goal lead from the first game in Germany on February 13, but came close to exiting in the last-16 stage only for Lois Openda to miss several chances while Dani Olmo hit the crossbar in stoppage time.
It meant Vinicius Junior’s 65th-minute opener, after a superb assist by Jude Bellingham, proved decisive with Leipzig’s equaliser via Willi Orban not enough to earn Marco Rose’s men a famous European victory.
Bellingham started days after his red card at Valencia following the controversial decision by referee Jesus Gil Manzano to blow for full-time before his headed effort could count as a last-gasp winner.
Leipzig had created plenty of chances in the first leg and should have put the ball in the net with 10 minutes played when Benjamin Sesko was sent through, but Andriy Lunin made a simple save and the offside flag was raised.
Vinicius diverted an effort over the crossbar with his chest soon after, which proved a rare venture into the Germans’ half in a one-sided first 45 minutes.
Openda curled wide moments later before his golden chance arrived in the 16th minute, but he dragged wide after an excellent ball by Olmo.
The Bernabeu crowd were already restless and a blocked Bellingham effort failed to turn the tide, with Paris St Germain loanee Xavi Simons next to test Lunin.
Simons was involved again three minutes before the break when his corner picked out Openda, who brushed the side-netting with his wayward shot from inside the area.
Whistles followed at half-time and Ancelotti reacted with Rodrygo introduced, but the visitors continued to create chances with Openda able to round Lunin before his decision to cut back inside allowed the Madrid goalkeeper to dive at his feet.
Madrid frustration boiled over when Vinicius was booked for shoving Orban to the ground, but he almost created the opener on the hour mark with a great run only for Bellingham’s scuffed effort to hit Rodrygo before a Toni Kroos shot was parried away.
Ancelotti’s team had finally started to move up the gears and the breakthrough occurred with 65 minutes played.
Bellingham was at the heart of the move, carrying the ball half the length of the pitch before he found Vinicius, who made an excellent run and rifled into the corner.
Any chance that Leipzig would fold was dispelled when Antonio Rudiger deflected a shot from Simons wide, which sparked big celebrations with Bellingham.
It was the visitors celebrating with 22 minutes left though when David Raum’s cross was headed in by Leipzig captain Orban to set up a grandstand finish.
Rose urged his team to press forward for a decisive second and Olmo sent a shot wide before Orban headed another chance over.
Leipzig pushed for a final opportunity, which did arrive in stoppage time but Olmo’s side-footed effort hit the top of the crossbar and bounced over to ensure Madrid progressed.