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.
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.