Argentine hit-man Diego Milito was Real Zaragoza's matchwinner as his brace secured a 2-1 win over Real Betis.
Milito struck early on in the contest when he reacted first to a scamble in the box before adding his second on the half hour mark, when he combined with compatriot Pablo Aimar before finishing with aplomb.
Betis' woes were compounded on the stroke of half time when Brazilian Edu was sent-off for elbowing Juanfran but things did improve in the second, with Robert grabbing a fine individual goal, albeit to no avail.
Zaragoza are now third in the table, with leaders Barcelona travelling to Real Madrid on Sunday.
Villarreal stay in tenth place after a 1-1 home draw with Levante. Diego Camacho opened the scoring just after half time before Villarreal substitute Jonathan grabbed his side a lifeline.
In Saturday's late game Deportivo La Coruna leap-frogged Atletico Madrid with a 1-0 victory on home soil against the capital outfit.
Angel Arizmendi was Depor's matchwinner in the 66th minute when he found the net with a well taken header.
Depor's winner came against the run of play and as Atletico pressed for a leveller late on, Fernando Torres went closest when his shot was cleared off the line by Alvaro Arbeloa.
Click below for individual match summaries:
Real Zaragoza 2-1 Real Betis
Villarreal 1-1 Levante
Deportivo La Coruna 1-0 Atletico Madrid