|Osasuna's Serbian forward Dejan Lekic (L) scored twice to give his side the momentum against reigning champs [AFP]
Barcelona's hopes of capturing a fourth consecutive La Liga crown suffered a severe setback as they slumped to a 3-2 defeat 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 opening 22 minutes and Barca, who have been struggling on the road all season, laboured 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.
In the earlier La Liga kick-off, Goalkeeper Antonio Rodriguez's great saves ensured Racing Santander escaped their Spanish league match against Atletico Madrid with a 0-0 draw.
Rodriguez kept a Radamel Falcao try from crossing the line early before dragging his foot long enough to save Adrian Lopez's 39th-minute shot.
Lopez put Diego through in the 56th but the Brazilian midfielder's shot skipped off the near post, then Falcao sent the rebound from a Diego shot off the post.
Rodriguez kept consecutive headers out in the 75th and a long shot from substitute Pizzi on the final play to preserve a point for relegation battling Santander.
Atletico are unbeaten in coach Diego Simeone's six games, in which they have yet to concede a goal.
In the late kick-off, lowly Real Betis scored a last-minute goal to claim a 2-1 victory over Athletic Bilbao in a lively encounter.