Villarreal strengthened its grip on fourth place in La Liga by beating Eibar, while Sevilla's 17-game winning streak at home ended with defeat to Real Sociedad.
Ander Capa gave Eibar the lead at the Ipurua Municipal Stadium but Villarreal broke a run of four league games without a win thanks to strikes by Adrian and Roberto Soldado. Villarreal now has an eight-point cushion to fifth-placed Celta Vigo and looks likely to secure La Liga's final Champions League qualification place.
Sevilla's incredible form at the Ramon Sanchez Pizjuan came to an end as it went down 2-1 to Real Sociedad.
The visitor went two up through Markel Bergara and a Grzegorz Krychowiak own goal before Kevin Gameiro pulled one back, and even Bergara's sending off for a second bookable offence could not stop La Real ending Sevilla's superb run.
Athletic Bilbao moved above Sevilla into sixth although it was held 1-1 at home by Granada despite Inigo Lekue giving the host the lead. Top goalscorer Aritz Aduriz missed a penalty just before the break and teenager Adalberto Penaranda equalised with 13 minutes to play.
Malaga and Espanyol both remain safely in mid-table after Duje Cop's penalty cancelled out Pape Diop's early goal.