They opened the scoring after just four minutes when Kike Sola headed home from close range, with that score remaining at the interval.
Both teams had chances in the second period, but neither could find the back of the net as Osasuna held on for a vital three points.
Read how it all unfolded in Sports Mole's minute-by-minute live commentary of the action below.
OSASUNA: Fernandez; Damia, Ruben, Flano, Lolo; Bertan, Oier, Armenteros, Cejudo; Nino, Sola
ZARAGOZA: Jimenez; Paredes, Sapunaru, Abraham, Movilla; Pinter, Apono, Montanes, Mari; Bienvenu, Rochina