Raphael Varane, Lucas Vazquez, Vinicius Junior and Karim Benzema all scored at La Romareda, where Madrid were again without injured duo Gareth Bale and Eden Hazard, while Benzema only came on as a late substitute.
Benzema will almost certainly start the Madrid derby against Atletico Madrid on Saturday, when Real will be hoping to at least preserve their three-point lead over Barcelona at the top of La Liga.
Unlike Barca, who have made a stuttering start under new coach Quique Setien, and Atletico, who look devoid of ideas under Diego Simeone, Madrid have hit peak form in recent weeks.
After their victory over Real Valladolid on Sunday, Zinedine Zidane said his team’s strong run had been been built on its defence and this clean sheet against Zaragoza means they have now conceded only three goals in nine games.
Their stubbornness should stand them in good stead in the Champions League, with a last-16 tie against Pep Guardiola’s Manchester City to come next month.
Hazard, who has resumed light training after recovering from an ankle injury, is likely to be back against City and if the Belgian can add some attacking finesse to their solidity, Zidane’s side may prove hard to stop.
Zaragoza were once an established top-flight club in Spain but have been unable to return since being relegated to the second tier in 2013.
Yet promotion remains in sight this season and, with a trip to league leaders Cadiz up next on Saturday, their priorities also appeared to lie elsewhere.
Victor Fernandez made eight changes to his starting line-up, which included a 30-year-old Shinji Kagawa, once of Borussia Dortmund and Manchester United.
Zidane, meanwhile, gave run-outs to Vinicius, Luka Jovic, Vazquez and James Rodriguez. Thibaut Courtois was rested and Alphonse Areola picked in goal.
Zaragoza’s chances of an upset were dealt a blow in the sixth minute when Toni Kroos exchanged a short corner with Dani Carvajal before crossing through a cluster of bodies to an unmarked Varane at the back post.
Kroos teed up the second too as Vazquez darted into the area and drilled into the top corner.
Zaragoza kept pushing and even threatened on the break but two goals in seven minutes gave Madrid’s win a harsher edge.
Vinicius chipped in after a neat one-two with James and then Benzema, on in the 73rd minute, scored in the 79th, tapping in Carjaval’s cross for a fourth.
Holders Valencia needed penalties to overcome third-tier side Cultural Leonesa, who knocked out Aletico Madrid in the previous round.
After a goalless 120 minutes, Juan Menudo and Sergio Benito both missed in the shoot-out, leaving Valencia captain Dani Parejo to convert the winning shot.