Raul helps Real Madrid to second with 3-0 win
Barcelona scored two goals in the last ten minutes to spare them an embarrassing defeat at the hands of bottom club Osasuna.
Once again Barca were indebted to Lionel Messi who struck a brilliant winner from 25 yards with just five minutes remaining.
The visitors had gone one up on the stroke of half time when Samuel Eto'o rifled home from the edge of the area after a mazy Messi run but a Miguel Flaño header pulled Osasuna level on the hour mark.
Then veteran striker Walter Pandiani turned home a Juanfran cross to put Barca in danger of their first defeat since the opening day of the season.
But an equaliser came from Xavi, who slotted home a Dani Alves cross on 80 minutes before Messi's sparkling winner.
The win maintained Barca's 12-point lead at the top of La Liga.
Earlier, Raul marked his 500th league game with a goal as Real Madrid cruised to a 3-0 victory at Real Mallorca that put them second behind Barcelona.
Arjen Robben and Raul had Real 2-0 ahead within 17 minutes and Sergio Ramos added a third in the second half, making it three wins from three for Juande Ramos's improving side.
The champions are now second behind runaway leaders Barcelona with 35 points from 18 games, ahead of Sevilla on goal difference after the Andalucians came back to win 3-1 at Deportivo Coruna on Saturday.
In-form winger Robben raced away on a counter-attack to score after only three minutes, and Gonzalo Higuain set up captain Raul to score with a deft back heel.
Mallorca, who are without a league win in ten, offered scant resistance and Ramos sealed the win with a volley.
Real coach Juande Ramos said the quick first goal had made it easier for his side, but denied they were too dependent on Robben's pace. The Dutchman has been their key figure in the last three games.
"A team doesn't rely on one player. It's his job to attack and he is given the freedom to do so by the work of other players," he said.
Valencia slipped down to fourth with 34 points after being held to a 3-3 draw at home by local rivals Villarreal on Saturday.
Atletico Madrid fell to pieces at home to Athletic Bilbao letting slip a 1-0 lead to lose 3-2.
They had Maniche sent off midway through the second half and a last minute goal from Diego Forlan did not prevent home coach Javier Aguirre having to leave the pitch with the crowd chanting for him to go.
"Three defeats in a week has put everyone on edge and put doubts in their minds. It's understandable that the fans are angry but we must remain calm," Aguirre said.
Atletico are fifth with 30 points, ahead of Villarreal and Deportivo on goal difference.