Leading 3-2 after last week's first leg, they wrapped up an aggregate 4-2 victory courtesy of Karim Benzema's 72nd-minute goal.
Barcelona will go through to met Madrid unless Osasuna can somehow overcome a 4-0 deficit from their first leg match when they meet again on Thursday.
The reigning European champions play the return leg of that match in Pamplona on Thursday, where Barca will look to recover from the disappointment of conceding a late equaliser in Sunday night's derby with Espanyol - a result that left them five points adrift of Madrid at the top of the league standings.
Elsewhere, three lower league sides will hope to defend first-leg leads against top-flight opposition and continue their cup adventures.
Also, Segunda Division sides Alcorcon - who famously knocked out Real Madrid two seasons ago - and Cordoba both hold 2-1 leads over Levante and Espanyol respectively after their home legs.
Another third tier team Albacete, conquerors of Atletico Madrid in the last 32, travel to Athletic Bilbao having held the 23-time cup winners 0-0 at home.
In the two other all-La Liga ties, Valencia go to Sevilla boasting a narrow 1-0 lead while Real Sociedad are 2-0 up against Real Mallorca.
Wednesday's Copa del Rey Fixtures
Sevilla vs Valencia (0-1 on aggregate)
Espanyol vs Cordoba (1-2 on aggregate)
Levante vs Alcorcon (1-2 on aggregate)
Thursday's Copa del Rey Fixtures
Osasuna vs Barcelona (0-4 on aggregate)
Athletic Bilbao vs Albacete (0-0 on aggregate)
Tuesday's Copa del Rey Results
Malaga 0-1 Real Madrid (2-4 on aggregate)
Racing Santander 1-1 Mirandes (1-3 on aggregate)
Real Mallorca 6-1 Real Sociedad (6-3 on aggregate)