Real Betis captain Joaquin scored his first career hat-trick at the age of 38 to power his side to a 3-2 win over Athletic Bilbao.
Joaquin became the oldest player to score a La Liga hat-trick and he needed only 20 minutes to do it, opening the scoring after just two minutes, curling in a second in the 11th minute and adding a third nine minutes later.
Inaki Williams replied with a penalty just before half-time and Yuri Berchiche pulled a second back but Betis hung on.
Athletic's defeat enabled Getafe to move up to fifth with a 1-0 win at Eibar thanks to Angel's 67th-minute goal. Eibar's misery was complete with a red card for Fabian Orellana in the seventh minute of stoppage time.
Ten-man Osasuna frustrated Sevilla, who were left three points adrift of second-placed Real Madrid after a 1-1 draw.
Munir El Haddadi put Sevilla ahead after just 11 minutes but Ezequiel Avila levelled in first-half stoppage time and Sevilla could not recapture the lead despite a 61st-minute red card for Oier.
Leganes moved off the foot of the table by beating Celta Vigo 3-2 for only their second win of the season.
Kevin Rodrigues added to Oscar Rodriguez's first-half brace as Leganes went 3-0 up, but Nestor Araujo pulled a goal back in the 64th minute and, despite Gabriel Fernandez's 71st-minute red card, Iago Aspas set up a nervy finish with a second goal for the visitors nine minutes from time.
Real Valladolid and Real Sociedad shared the points from a goalless draw.
There was late drama in Germany as struggling Paderborn climbed off the bottom of the Bundesliga with a last-gasp 1-0 win away to Werder Bremen as Sven Michel's 90th-minute goal was awarded following a VAR review.
Substitute Michel had originally been ruled offside but that decision was overturned as Paderborn claimed only their second win of the season.
It put them level on points with Cologne, who slipped to the foot of the standings with a 2-0 loss to FC Union Berlin, who got a brace from Sebastian Andersson.
In Serie A, Goran Pandev scored a stunning goal from close to the halfway line but was later sent off as Genoa blew a 2-0 lead and finished with nine men in a 2-2 draw away to fellow strugglers Lecce.
Pandev sent a poor clearance from Lecce goalkeeper Gabriel back with interest in the 31st minute and then won a penalty which Domenico Criscito converted in first-half stoppage time, but it all went wrong for Genoa in the second half.
Filippo Falco's curling shot got Lecce back in it on the hour before Genoa had Kevin Agudelo sent off and Andrea Tabanelli levelled with 20 minutes to go.
Pandev was then booked twice in the space of four minutes, the first for simulation, to be sent off with 13 minutes remaining.
Mario Balotelli scored the only goal in the 54th minute as Brescia ended a nine-game winless run and moved off the bottom of the table with a 1-0 victory away to SPAL, who replace them at the foot of the standings.
AC Milan defender Theo Hernandez scored at both ends and conceded a penalty as his side hung on for a 3-2 win away to Bologna.
Krzystof Piatek had put Milan ahead from the penalty spot after 15 minutes before Hernandez doubled the lead in the 32nd minute, only to put through his own goal eight minutes later.
Giacomo Bonaventura stretched Milan's lead at the start of the second half and they would need that insurance as Hernandez felled Riccardo Orsolini and Nicola Sansone scored from the spot.
Daniele Ragatzu's 90th-minute equaliser saw Cagliari snatch a point from a 2-2 draw at Sassuolo, who were 2-0 up at half-time through Domenico Berardi and Filip Djuricic before Joao Pedro got the visitors back in it.
Parma moved up to eighth with a 1-0 win at Sampdoria, secured through Juraj Kucka's 21st-minute goal, while strikes from Simone Zaza and Cristian Ansaldi led Torino to a 2-1 win over Fiorentina, who got a late consolation from Martin Caceres.
Marseille kept pace with Ligue 1 leaders Paris St Germain as they came from behind to beat Bordeaux 3-1.
Yacine Adli had the visitors ahead at the break but Jordan Amavi levelled three minutes into the second half before Morgan Sanson completed the turnaround and Nemanja Radonjic added a third in stoppage time.
Remi Oudin, Boulaye Dia and Moussa Doumbia were on the scoresheet as Reims beat St Etienne 3-1, who got a goal through Romain Hamouma, while Ludovic Blas' 73rd-minute strike gave Nantes a 1-0 win over Dijon.