Barcelona's fading hopes of capturing a fourth consecutive La Liga crown suffered a major setback when they lost 3-2 at Osasuna on Saturday to leave Real Madrid seven points clear at the top with a game in hand.
In freezing conditions in Pamplona, Osasuna striker Dejan Lekic scored twice inside the first 22 minutes and Barca, who have struggled on the road all season, waited too long to react.
Spanish World Cup winners Xavi, Andres Iniesta and Cesc Fabregas started on the bench, and although Alexis Sanchez pulled one back for the visitors in the 52nd minute, Raul Garcia quickly restored Osasuna's advantage.
Barca's youth team winger Cristian Tello grabbed a second in the 73rd but a late charge just failed to produce the equaliser.
The world and European champions' second defeat of the season left them on 48 points, seven short of leaders Real, who host high-flying Levante on Sunday.
"The league is much tougher now, and I suppose tomorrow we will see the gap grow even larger, " Barca coach Pep Guardiola said.
"If we could play well on this pitch in the second half we should have done so in the first as well. We found it hard to get into the game."
Atletico Madrid climbed to sixth with 31 points despite being held to a 0-0 draw at Racing Santander.
Home keeper Tono was man-of-the-match as he pulled off a string of saves to deny Atletico, who are unbeaten in the six games since Argentine Diego Simeone took the helm and have yet to concede a goal in that time.
Osasuna are seventh also with 31 points, one ahead of King's Cup finalists Athletic Bilbao, who suffered a 2-1 defeat at Real Betis in the late game.