It was an ill-tempered affair and the first red card arrived after just nine minutes when Romaric was dismissed for Zaragoza for an awful tackle on Mehdi Lacen.
Zaragoza had the first real chance through Aranda, whose left-footed drive from an angle missed the target.
Despite being a man down, the hosts continued to create chances and Cristian Sapunaru hit the bar with a header on 24 minutes.
David Abraham had a great chance for Getafe with a header in the 31st minute, but he was only able to nod wide of the target.
Helder Postiga had an attempt saved five minutes before the break but the sides went in at 0-0.
In the 62nd minute Pedro Leon was fouled by Ivaro Gonzales and the hosts were down to nine men as it was a professional foul. Castro then rubbed salt into the wounds by slotting in the penalty.
Jaime Gavilon had a header saved in the 69th minute as Getafe pushed for a second.
The away side saw Abdelaziz Barrada sent off in the 84th minute and Getafe were able to hold out for the 1-0 win.