Real Madrid have won the Copa del Rey on 19 occasions, but not since 2014, when they beat Barcelona 2-1 in the final
Real Madrid beat city rivals Atletico Madrid after extra time to advance to the semi-finals of the Copa del Rey.
Atletico took the lead with Alvaro Morata scoring from close range following Nahuel Molina's low cross.
Real were 11 minutes from going out but equalised when Rodrygo beat three players and scored a wonderful goal.
Atletico's Stefan Savic was sent off for two bookable offences, before Karim Benzema put Real ahead in the 104th minute with Vinicius Jr adding a third.
Benzema steered a low shot past Jan Oblak after the visitors had failed to deal with Marco Asensio's low cross and Vinicius Jr sealed the victory as he passed the ball into the bottom corner after a fine run.
Alvaro Morata began his career with Real and played a crucial role in their La Liga title triumph in 2016-17, then moved to Chelsea where he stayed three years before joining Atletico in 2020
Barcelona and Osasuna beat Real Sociedad and Sevilla respectively in their quarter-finals on Wednesday and Athletic Bilbao won 3-1 at Valencia on Thursday to join them in the semi-finals.
The draw for the final four will take place on Monday, 30 January with the first legs in early February and the second legs in the beginning of March, before the final on 6 May.
Earlier on Thursday, La Liga said it "strongly condemns acts of hatred and intimidation against Vinicius Jr" after an effigy of the Real Madrid winger was hung from a bridge near the club's training ground.
A banner reading "Madrid hates Real" was attached to the bridge's railings, with Atletico calling the incident "repugnant".
Brazil international Vinicius Jr, 22, said last month the Spanish league had to act on racists attending games after a minority of Atletico fans sang racist songs aimed at the player before Real's 2-1 win in September.
- Line-upsMatch Stats
- 1Courtois6NachoSubstituted forOdriozolaat 115'minutes3Militão22Rüdiger23MendySubstituted forCeballosat 44'minutesBooked at 69mins10Modric12Camavinga8KroosSubstituted forAsensioat 74'minutes15ValverdeSubstituted forRodrygoat 69'minutesSubstituted forMartínat 115'minutes9Benzema20Vinícius JúniorBooked at 97mins
- 5Vallejo11Asensio13Lunin16Odriozola19Ceballos21Rodrygo24Mariano26López Andúgar31Martín33Arribas
- 13Oblak16Molina15SavicBooked at 99mins22HermosoBooked at 62mins23MandavaBooked at 54mins6KokeBooked at 105minsSubstituted forSaúlat 83'minutes5De PaulBooked at 44minsSubstituted forKondogbiaat 83'minutes10CorreaSubstituted forDepayat 74'minutes11LemarSubstituted forCarrascoat 74'minutes8GriezmannSubstituted forBarriosat 90'minutes19MorataSubstituted forWitselat 63'minutes
- 1Grbic2Giménez3Reguilón4Kondogbia9Depay17Saúl18Felipe20Witsel21Carrasco24Barrios29Martín Domínguez
Referee:César Soto GradoMatch StatsHome TeamReal MadridAway TeamAtl MadridPossessionHome61%Away39%ShotsHome23Away12Shots on TargetHome6Away6CornersHome7Away6FoulsHome11Away18