Barcelona surrendered a two-goal lead to slump to a shock 3-2 defeat at Real Betis that dealt a serious blow to their title ambitions on Saturday.
Frank Rijkaard's side seemed to be cruising after goals from Bojan Krkic and Samuel Eto'o put them 2-0 up inside 15 minutes.
But the Catalans failed to press home their advantage and were undone by a revived Betis who turned the tables with three superbly worked goals in 15 second-half minutes.
The defeat meant Barcelona, who have won just one of their last five league games, remain four points behind leaders Real Madrid, who host Sevilla on Sunday.
Villarreal can leapfrog Barca and take second place in the standings if they beat Atletico Madrid in Saturday's late match.
"You almost can't believe how the game changed and the way we reacted to it," Rijkaard told a news conference. "I have to apologise to the fans for what happened."
The victory lifts Betis six points clear of the relegation zone and into 12th place in the standings with 38 points.
Although Betis were handed a two-match stadium ban because a visiting player was hit in the face by a bottle thrown from the crowd, they hosted Barcelona at their own ground after appealing for a postponement of the punishment.
The home side started poorly, however, and fell behind when 17-year-old Bojan Krkic rounded goalkeeper Casto and slotted home after a close-range shot from Eto'o rattled the bar.
Betis barely had time to dust themselves down from the blow before Eto'o made it 2-0, heading past Casto after Andres Iniesta dinked the ball into the area.
Barca toyed with Betis for the rest of the half but lost their way after Krkic was taken off and Edu pulled a goal back almost immediately, heading in unopposed after good work from substitute Rafael Sobis.
Nerves then got the better of Barca with France fullback Eric Abidal giving away a needless penalty by pushing substitute David Odonkor who was running towards the byline, but goalkeeper Victor Valdes spared his blushes when he saved Edu's spot kick.
Barcelona's relief lasted less than a minute, Spain defender Juanito equalising with a stunning strike when he controlled with his chest and volleyed an angled shot into the net.
The Betis fans exploded with delight two minutes later when Edu sped down the left and sent a fierce shot fizzing past Valdes into the net to clinch all three points.