Real Mallorca spoiled Frank Rijkaard's last home game with Barcelona, as they came back from two goals down to beat the Catalans 3-2 at Nou Camp.
Barca were 2-0 up on the hour mark, thanks to goals from the in-form Thierry Henry and Samuel Eto'o.
However, the visitors made a remarkable comeback as Borja Valero and Pierre Webo leveled the scoring, before the Primera Liga top scorer Daniel Guiza snatched an injury time winner with his 26th of the season.
Barca are now in danger of losing third place to Atletico Madrid after the latter's 1-0 victory over Deportivo Lacoruna made them level on 64 points with Rijkaard's team.
Elsewhere, champions Real Madrid played out a 2-2 draw at Real Zaragoza, who are on the verge of relegation.
Villarreal cemented their second place with a 2-0 home victory over Espanyol.
نرشح لكم
بهدف في الدقيقة 117.. سانت إيتيان يعود من جديد لـ الدوري الفرنسي
خوسيلو: لا أعرف أين سألعب.. وبعض اللاعبين لم يحتفلوا بـ أبطال أوروبا
مورينيو: أريد أن أعمل في الدوري التركي.. ومنذ هذه اللحظة أنتمي لعائلة فنربخشة
فريق رونالدو وليجانيس يصعدان إلى الدوري الإسباني
عودة البندقية من جديد.. فينيتسيا يتأهل إلى الدوري الإيطالي
ضربة أخرى لـ إيطاليا.. إصابة مدافع أتالانتا في الركبة قبل يورو 2024
النهاية لـ أورساتو وإيتاليانو وإصابة قوية.. فيورنتينا ينتصر على أتالانتا بختام الدوري الإيطالي
عراب جوارديولا الذي تعلم الإسبانية بالخطأ.. حكايات جافريل كاتشالين أول أبطال اليورو