Cristiano Ronaldo celebrated winning his second Ballon d'Or earlier in the week with the opening goal, but he had Andres Fernandez to thank as the Osasuna keeper parried the Portuguese's long-range free-kick through his own legs and into the net.
Angel di Maria then wrapped up victory on the night with a neat finish from Jese Rodriguez's cross to set up a meeting with Espanyol in the last eight.
Real boss Carlo Ancelotti had made six changes to the side that beat Espanyol in La Liga at the weekend as Gareth Bale dropped to the bench.
And the Italian was happy with the professional job done by his players.
"We controlled the game very well and the team showed good concentration," he said.
"We managed to score early which helped and after that it wasn't such a difficult game because we defended very well.
"There are a lot of games coming up and it is difficult to always play well, but the team is working hard at the moment and we are hungry to achieve things in the future."
There were to be no scares as Ronaldo killed the tie as a contest when his dipping free-kick proved too hot for Andres to handle on 21 minutes.
Alvaro Cejudo was then unlucky not to take Osasuna in level at the break as he struck the post with a low left-footed drive before seeing Iker Casillas turn behind a similar effort moments later.
Madrid were in complete control after half-time, though, and Di Maria doubled their advantage with a side-footed finish after a determined run down the right by Jese.
Bale was introduced for Ronaldo with half an hour remaining, but once again the Welshman failed to impress as the visitors settled for what they had in the latter stages.
And Madrid even finished the game with 10 men when Manchester United target Fabio Coentrao needlessly picked up a second yellow card six minutes from time.
Espanyol needed two goals in the last 10 minutes to overcome second division side Alcorcon 4-2 on the night to go through 4-3 on aggregate.
Athletic Bilbao also set up a meeting with holders Atletico Madrid in the quarter-finals with a 2-1 aggregate win over Real Betis.
Meanwhile, Barcelona's opponents in the next round should they see off Getafe on Thursday will be Levante after they overcame Rayo Vallecano 1-0.