Jose Callejon's late strike spared Real Madrid's blushes and secured a 2-1 win at Real Mallorca to extend Los Blancos' lead at the top of La Liga.
Mallorca had looked on course to claim a shock win after Tomer Hemed gave them a 39th-minute lead but Madrid drew level through substitute Gonzalo Higuain 18 minutes from time before Callejon netted an 84th-minute winner for Jose Mourinho's men.
The victory was Madrid's 22nd in their last 23 competitive matches and lifted them further clear of Barca, who play Real Betis on Sunday.
The comeback win will also give Madrid a further morale boost ahead of Wednesday's Copa del Rey quarter-final first leg against Barca at the Bernabeu.
Antoine Griezmann scored the only goal as listless Valencia slipped to a 1-0 defeat against Primera Division strugglers Real Sociedad.
Perhaps feeling the effects of their away-goals victory over Sevilla in the Copa del Rey in midweek, third-placed Valencia offered surprisingly little in attack. And they paid the price when Griezmann, with a touch of good fortune, scored 11 minutes into the second half.
A late own goal denied new Real Zaragoza coach Manolo Jimenez a victory on his home debut as Getafe snatched a 1-1 draw from La Romareda.
Jimenez suffered a 1-0 defeat at Racing Santander in his first game in charge last weekend but it looked set to be a better outing for him as his side took a 38th-minute lead through Maurizio Lanzaro and still held that advantage heading into the closing stages.
However, with 11 minutes to go, Zaragoza defender Javier Paredes inadvertently put through his own net to help Getafe salvage a 1-1 draw.
The result leaves Zaragoza rooted to the foot of the standings but it at least brought an end to their six-match losing streak in La Liga, while Getafe remain just above the relegation dogfight.
Goals by Michu and Piti earned Rayo Vallecano a 2-1 win at Granada who finished the game with 10 men. The home side hit back through Fran Rico in the last five minutes but they also had Inigo Lopez dismissed in injury time.
Sevilla's run without a league win stretched to four games as Espanyol produced a solid defensive performance to come away from the Sanchez Pizjuan with a 0-0 draw.
The hosts had by far the better of the first period but were wasteful in front of goal on a number of occasions. Alvaro Negredo having the pick of the chances five minutes before the break when he fired over from six yards.