Portuguese striker Helder Postiga put Zaragoza into the lead after just two minutes, heading home unmarked at the near post.
Granada were left stunned 20 minutes later as they fell two goals behind when Victor Rodriguez finished neatly to put the away side firmly in control.
A scrappy second half sprung into life twenty minutes from time when Brazilian midfielder Iriney received a red card for a late challenge just outside the penalty area.
Zaragoza failed to make their man advantage count in the closing stages and gifted the home team a lifeline on 77 minutes through Youssef El Arabi, who took advantage of some slack marking to score with an assured header.
Real boss Manolo Jiminez was sent to the stands for berating the referee in stoppage time but his side held on for three precious points.