José Callejón scored the winner with six minutes remaining as Real Madrid came back from a goal down to beat Mallorca 2-1 and extend their Liga lead to eight points.
Tomer Hemed’s first-half header threatened to send José Mourinho’s side to only their second defeat in 24 matches in all competitions until Gonzalo Higuaín equalised with a shot which was helped over goalkeeper Dudu Aouate by the sliding Fernando Tissone.
The goal sparked Real Madrid to life and Cristiano Ronaldo thundered a dipping shot against the crossbar. Then Callejón struck the decisive blow a short while later following a double save from Aouate.
Barcelona will attempt to cut Madrid’s lead back to five points when they host Real Betis on Sunday.
Elsewhere, Real Zaragoza’s winless run now stands at 11 league games following a 1-1 draw with Getafe, who gained a point courtesy of a Javier Paredes own goal.
It also ended all square between Sevilla and Espanyol, while Rayo Vallecano moved into mid-table thanks to a 2-1 win at Granada.
Valencia, in third, lost 1-0 to Real Sociedad in the late game.