Lionel Messi notched up his 50th club goal of the season with a double as Barcelona beat Racing Santander 2-0, but the Catalan club still remain 10 points off La Liga leaders Real Madrid.
After scoring a remarkable five in the Champions League in midweek against a reeling Bayer Leverkusen, Messi found the net in both halves on Sunday, the second a strike from the penalty spot.
The Argentine has 10 more goals overall than Cristiano Ronaldo, although the Portuguese star leads the way in La Liga with 32.
Ronaldo hit a brace on Saturday as Real Madrid beat Real Betis 3-2 to maintain their surge towards a first title since 2008.
Barcelona have now won their last four league games and coach Pep Guardiola says that they are bouncing back after having so many players sidelined.
"We have been playing well for a while, but we have had to suffer from a lot of injuries and while players have come in and done well, it still puts a greater strain on the team," said Guardiola.
"It was a good game from us and we managed well to pass the ball around but it is never easy against a side who have nine at the back. We also had to be wary of Racing on the counter-attack which we were able to do.
"As we were 13 points behind Real we just had to go out at 100 percent and give our best. Racing are among a group of teams that will fight to the end to avoid relegation and I hope they have a good end to the season."
Barca, without the injured Eric Abidal and suspended Gerard Pique, started with a three-man defence which included Carles Puyol who was passed fit.
They quickly began to dominate a struggling Racing side who have not won in eight matches and appointed Alvaro Cervera as the new coach last week.
Messi had a free-kick tipped over by the keeper while Andres Iniesta hit the top of the crossbar with an excellent chip as Barca began to find a cutting edge.
Racing were battling hard, and on occasions went overboard with crude challenges, but they had no match for Barca's movement and passing.
Cesc Fabregas had a shot well saved by the keeper before he set up Messi for the opening goal, with the Argentine sliding the ball home from the centre of the penalty area.
Barca were knocking the ball effortlessly through the midfield but had to wait until the 56th minute to go further ahead from the penalty spot.
Domingo Cisma was adjudged to have pulled down Fabregas and Messi sent the keeper the wrong way from 12 yards.
Racing were unable to respond and Barca could have extended the lead with Juan Cuenca hitting a post and Messi for once having his shot saved when one-on-one with the keeper.
Champions League-chasing Valencia continued to stutter as they squandered a two-goal lead to draw 2-2 at home to Mallorca.
Valencia have now won just once in four games in the league, but they still have a four-point lead over Malaga, who beat Levante on Saturday.
They dominated the first half with Tino Costa's deflected shot giving them the lead after 23 minutes and then doubled it three minutes before the break when Mallorca keeper Dudu Aouate made a hash of clearing a backpass, playing the ball to Aritz Aduriz, who slotted it home.
Mallorca had offered very little but got back into the game after 57 minutes when Emilio Nsue converted a through ball from Michael Pereira and then Victor Casadesus completed the turnaround minutes later.
Valencia had lost their shape amid whistles from the home fans and finished with 10 men after Costa was dismissed for a two-footed challenge.
Athletic Bilbao came back down to earth with a bump after their 3-2 victory over Manchester United in the Europa League as they crashed 2-1 away to Osasuna.
The home side took the lead with Ander Iturraspe heading a free-kick into his own goal after nine minutes and they were in control against an Athletic side who had rested key players including Fernando Llorente and Javi Martinez.
Raul Garcia headed them further in front again from a set-play but at half time Llorente was brought on and he reduced the deficit after 55 minutes.
Espanyol and Atletico Madrid kept in the hunt for a place in Europe with Espanyol beating Rayo Vallecano 5-1 at home and Atletico won 2-0 against Granada at the Calderon.