Lionel Messi gave Barcelona a 1-0 win at Getafe on Saturday to maintain their lead of six points in the Primera Liga over second-placed Real Madrid, who also won 1-0, at Recreativo Huelva.
Barca briefly extended their lead at the top of the table to nine points, but champions Real trimmed back the gap to six points with seven matches remaining by winning at relegation-threatened Recreativo Huelva in Saturday's late game. They host Barca in the "Clasico" in two weeks' time at the Bernabeu.
Messi got his 20th league goal this season after 19 minutes in a dominant Barca display at the Coliseum stadium to seal the Champions League semi-finalists' sixth straight Liga win.
The Argentina forward picked up Xavi's pass in the area, skipped around a group of defenders and struck a deflected shot that had enough power to beat goalkeeper Vladimir Stojkovic.
In Huelva, Real struggled to break through the Recre defences in the first half, although captain Raul struck a post just after the half hour and Sergio Ramos sliced the rebound over the bar with the goal at his mercy.
Recre carved out a couple of chances and Real keeper Iker Casillas was forced into two sharp saves in quick succession midway through the first period.
Brazilian Marcelo scored the winner just after the break when he raced on to Fernando Gago's pass and finished coolly past keeper Asier Riesgo to give Real a 15th win in 16 matches since they lost 2-0 to Barca at the Nou Camp in mid-December.
"We are doing our job and we just hope that Barca slip up and we can catch them," Marcelo said in a television interview.
There was a blow for Real in added time when midfielder Wesley Sneijder was carried off with what appeared to be a serious leg muscle strain.
Atletico Madrid won 3-0 at home to struggling Numancia and moved up to fourth place, above Valencia on goal difference, thanks to second-half strikes from midfielder Ever Banega, striker Diego Forlan and winger Simao Sabrosa.
Atletico and Valencia have 49 points although Unai Emery's side have a chance to cut the eight-point gap to third-placed Sevilla when they host the Andalucians on Sunday.
Malaga stay seventh on 47 after a 1-1 draw with visiting Real Mallorca. Villarreal, sixth on 48, visit Real Valladolid on Sunday.