Atletico Madrid maintained their lead at the top of LaLiga with a 1-0 win at relegation-battlers Elche, who missed a last-minute penalty.
Luis Suarez saw an early effort ruled out by VAR for offside in the build-up, before Marcos Llorente broke the deadlock in the 23rd minute with a deflected strike.
Atletico then had a penalty decision overturned just before half-time after the referee reviewed a handball incident on the pitchside monitor.
Suarez had another goal disallowed for an offside flag just after the hour, before there was late drama when Llorente gave away a spot-kick for handball – but Fidel Chaves' penalty struck the post.
Atletico moved on to 76 points, five clear of Real Madrid, who later beat Osasuna to cut the gap back to two, with four games left.
Los Blancos finally broke down the visitors with late goals from Eder Militao and Casemiro.
Barcelona are three points behind Real Madrid and play at Valencia on Sunday.
Elsewhere, bottom club Eibar ended their winless run to beat relegation-threatened Alaves 3-0 with a hat-trick from Kike Garcia at Ipurua.
Eibar are now four points behind the sides above them, with 16th-placed Alaves also still looking over their shoulder.
Huesca moved out of the relegation zone with an unexpected 1-0 home win over European hopefuls Real Sociedad after Sandro Ramirez's late free-kick was deflected in for an own goal by defender Aritz Elustondo.
Inter Milan closed in on the Serie A title with a 2-0 win at bottom club Crotone, whose relegation was confirmed.
Substitute Christian Eriksen broke the deadlock with 20 minutes left and Achraf Hakimi wrapped things up in stoppage time.
The Nerazzurri will be champions on Sunday, a first Scudetto since 2010, should Atalanta fail to win against Sassuolo.
AC Milan beat relegation-threatened Benevento 2-0 with goals from Hakan Calhanoglu and Theo Hernandez to move up into second place, a point ahead of Atalanta, while Riccardo Saponara's late goal gave Spezia a 1-1 draw at Verona.
Paris St Germain kept up the pressure on Ligue 1 leaders Lille with a 2-1 win over Lens.
Neymar opened the scoring after 33 minutes at Parc des Princes and then his corner was nodded home by Marquinhos on the hour.
Lille responded with a 2-0 win over Nice, which saw them stay a point clear at the top.
Borussia Dortmund booked their place in the DFB-Pokal cup final with a 5-0 win over 2. Bundesliga side Holstein Kiel – with all the goals coming in the first half.
American international Giovanni Reyna scored twice, with Marco Reus, Thorgan Hazard and Jude Bellingham also on target as Dortmund secured a showdown against RB Leipzig.
The victory, though, was somewhat overshadowed by what looked like a serious knee injury to defender Mateu Morey not long after coming on midway during the second half.