Madrid: FC Barcelona came from behind to keep their La Liga hopes alive with a 3-2 win in Valencia on Sunday.
The win keeps Barca level on points with Real Madrid, two points behind league leaders Atletico Madrid, who visit the Camp Nou next weekend in what promises to be a season-defining game.
Things were looking grim for Barca when Gabriel Paulista headed Valencia in front in an entertaining game five minutes after the break. The Barca players protested a possible block on Marc Andre Ter Stegen, but the goal stood after a VAR check.
At that point Barca was five points behind Atletico, but Valencia defender Toni Lato gave them a lifeline with a handball seven minutes later and although Messi's penalty was saved by Jasper Cillessen, Sergio Busquets kept the ball alive and Messi scored from close range.
Antoine Griezmann put Barca in front after Cillessen saved Frenkie de Jong's header and Messi then fired in a stunning free-kick off the post to make it 3-1 in the 69th minute.
Carlos Soler set up an exciting finish to the game with an 83rd-minute thunderbolt, but despite a few nervous moments Barca held on for a vital win.
Atletico Madrid rode their luck to win 1-0 against relegation-threatened Elche on Saturday, thanks to Marcos Llorente's 23rd-minute shot which took a big deflection on its way into the net.
The league leaders impressed in the first half, but had to withstand a lot of pressure in the second half and Elche missed a magnificent chance to take something from the game and deny Atletico two vital points when Fidel sent an injury-time penalty against the outside of the post after Llorente had been penalized for handball.
Real Madrid remains two points behind Atletico after two goals in the last 15 minutes saw them home against Osasuna, who defended doggedly without creating much danger themselves.
The game was in the balance until the 76th minute when Eder Militao opened the scoring with a far-post header from a corner and four minutes later Casemiro assured the points after excellent work from Karim Benzema.
Kike Garcia's hat-trick saw Eibar end a 16-game run without a win in convincing style as they beat Alaves 3-0 to maintain a slight chance of avoiding relegation with only their second home win of the campaign.
Eibar remains five points from safety, while Huesca remains in the bottom three despite Sandro Ramiro's goal giving them a 1-0 win at home to Real Sociedad (one of his former clubs).
Huesca climbed to fourth from the bottom for 24 hours, but Valladolid climbed back above them after Shon Weissman's 67th-minute goal canceled out Aitor Ruibal's 48th-minute opener for Betis in an entertaining game on Sunday lunchtime.
Betis' draw allowed Villarreal to move into sixth after a 1-0 win at home to Getafe, which came thanks to Yeremi Pino's superb 78th-minute goal.
Getafe was guilty of failing to take any of their chances against a subdued Villarreal, but youth-team product Yeremi gave the home team all three points with an individual move that ended with a right-foot shot into the corner of the goal.
Granada was unable to build on Thursday's win in Barcelona as they slipped to a 1-0 defeat at home to Cadiz, who not only took all three points thanks to Ruben Sobrino's close-range goal in the 38th minute of the game, but saw Granada end with 10 men after Roberto Soldado was shown two yellow cards within seconds of each other.