Karim Benzema's 83rd-minute goal was enough for Real Madrid to extend their lead at the top of La Liga to nine points with a 1-0 win at Rayo Vallecano.
The Copa del Rey derby match between Real Betis and Sevilla was suspended after a pole hurled from the stands hit Sevilla player Joan Jordan in the head on Saturday.
Memphis Depay and Philippe Coutinho scored late on at Villarreal as Barcelona won 3-1 to finally end their winless streak away from home under new coach Xavi.
Barcelona let a three-goal half-time lead slip to draw at Celta Vigo, while Juan Cuadrado's stoppage-time strike earned Juventus a 1-0 win over 10-man Fiorentina.
Erling Haaland scored two goals as Borussia Dortmund came from behind before beating Bayer Leverkusen 4-3 and Bayern Munich thumped RB Leipzig 4-1.