Real Madrid maintained their position at the top of the Primera Division table
as they came through their toughest assignment of the season so far at
Gerard Pique and Lionel Messi netted in the first half to put Barca on course for the win and second-half strikes from Carles Puyol and David Villa completed the scoring.
The result means Barca have now netted 30 times in their seven Primera Division home games this season, while it is 11 matches ago since the European champions conceded a league goal at the Nou Camp.
For Zaragoza, the loss means they have now taken just one point from their last five games and they remain in trouble near the relegation zone. Villarreal leapfrogged Real Betis to move into the top half of the table for the first time this season thanks to Borja Valero's solitary first-half goal.
After an evenly matched opening 20 minutes, the hosts took the lead when Hernan Perez and Marco Ruben combined to set Valero free down the left and he calmly chipped over Casto from just outside the area.
Betis nearly equalised straight away as Ruben Castro forced Diego Lopez into a fine save, but thereafter the visitors failed to create a clear-cut chance despite being dominant in possession.
Indeed it was Villarreal who came closest to scoring in the second-half but Casto brilliantly denied Bruno from close range.