Real Madrid missed the chance to move back top of LaLiga after suffering an unexpected 2-1 defeat at Villarreal.
Yeremy Pino fired the home side ahead early in the second half, before Karim Benzema equalised from the spot on the hour after Villarreal defender Juan Foyth had been penalised for handball following a VAR review.
Villarreal, though, were soon back in front when David Alaba handled a low cross from Foyth to give away another penalty, which Gerard Moreno slotted in.
Real remain level on points with Barcelona, who can move clear when they play at Atletico Madrid on Sunday, while Villarreal sit fifth following a third straight league win.
Espanyol were denied moving out of the bottom three as Girona struck a late equaliser to draw 2-2 against their derby rivals at at the RCDE Stadium.
Girona, looking to extend their five-game unbeaten run, went ahead through Toni Villa, but Javi Puado had the home side level early in the second half.
Joselu’s header put Espanyol in front with 15 minutes left, but substitute Yangel Herrera struck in the 85th minute to earn a point
Abdon Prats’ stoppage-time header gave Mallorca a 1-0 win over Real Valladolid at the Son Moix.
Juventus paid a moving tribute to Gianluca Vialli ahead of their 1-0 Serie A win over Udinese at the Allianz Arena.
Former Italy, Sampdoria, Juve and Chelsea striker Vialli died aged 58 on Friday following a lengthy battle with pancreatic cancer.
Vialli won every major trophy on offer, including the Scudetto with Juventus in 1995.
There was minute’s silence before kick-off for both Vialli and former defender Ernesto Castano, who made made 340 appearances for the club between 1958 and 1970. Gianluca Pessotto also read out an emotional open letter to his captain, Vialli.
The Bianconeri had Angel Di Maria and Adrien Rabiot back in the side following their World Cup exploits, but it took until the 87th minute to find a breakthrough when Danilo tapped in at the far post.
It was an eighth successive Serie A win, all with clean sheets, for Juve, who closed to within four points of leaders Napoli, who play Sampdoria on Sunday.
Luca Caldirola scored a stoppage-time goal to earn Monza a 2-2 draw against Inter Milan.
The Nerazzurri – who beat Napoli on Wednesday night to throw the title race wide open – went ahead through Matteo Darmian after 10 minutes.
The home side, though, were immediately level when Patrick Ciurria curled in his first Serie A goal.
Lautaro Martinez put Inter back in front midway through the first half, which had looked enough for all three points until Caldirola struck in stoppage time, bundling the ball in at the back post.
Inter remain fourth, but missed the chance to move level on points with rivals AC Milan, who have a match in hand.
Elsewhere, a stoppage-time penalty from Nicolas Gonzalez sealed a 2-1 win for Fiorentina over Sassuolo at the Stadio Artemio Franchi.