Barca seize upon Real slip
Real had squandered two crucial points in what is already a two-horse title race when they had to come from behind to secure a 1-1 draw at bottom side Almeria, the team with the league's worst home record.
Valencia stayed hard on the heels of third-placed Villarreal when Jeremy Mathieu and Pablo Hernandez scored in a 2-0 home win over Deportivo La Coruna.
Barca, who set a new club record of 28 matches unbeaten in all competitions, lead on 52 points from 19 games with Real on 48. Villarreal are third on 39 thanks to their 4-2 home win over Osasuna on Saturday and Valencia have 37 in fourth.
Barca's victory also set a new points record for the first half of the season, beating the mark of 50 set by Pep Guardiola's side in their treble-winning 2008/09 season.
They have lost just one match, a surprise 2-0 home defeat by promoted Hercules in September, drawn one, at home to Real Mallorca, and won 17, including a stunning 5-0 drubbing of visiting Real.
World Cup winner Andres Iniesta opened the scoring in the eighth minute at the Nou Camp with a superb first-time strike from the edge of the penalty area and his Spain team mates David Villa and Pedro put the home side 3-0 ahead by half-time.
Malaga's Portuguese midfielder Duda briefly set the home fans' nerves jangling when he curled in a fine free-kick in the 68th minute before Villa netted his second and 14th of the campaign.
"It was a vital win for many reasons," Villa said in a television interview. "There is a long way to go yet although we are of course delighted that we have the advantage at this stage."
In Almeria, Real coach Jose Mourinho gave fit-again Kaka his first start of the season after knee surgery, leaving Karim Benzema on the bench and using La Liga top scorer Cristiano Ronaldo in the striker's role.
The Portuguese forward, who has 22 goals this term, failed to convert several clear chances before the home side grabbed a surprise lead on the hour.
The ball broke to Jose Leonardo Ulloa after Pablo Piatti's fine run and the Argentine striker swept it past Iker Casillas from the edge of the penalty area.
Substitute Esteban Granero smashed in the equaliser with around 15 minutes left and Ronaldo thundered a free-kick against the crossbar in stoppage-time but Almeria held firm for a point.
Mourinho said his players had lacked their usual rhythm in the first half and praised Almeria for some stout defence.
"Four points behind under normal conditions is an open league," the Portuguese told a news conference.
"We have performed well in the first half of the season," he added. "We have won 15 games, lost one and drawn only three but that's not enough to win the championship. We hope to improve in the second half."
Almeria, without a home win this season, remained rooted to the bottom of the standings on 14 points