An early goal from teenager Mikel Oyarzabal saw Real Sociedad beat Barcelona 1-0 and blow the Primera Division race wide open.
The 18-year-old headed in the only goal of the game in the fifth minute and the hosts held on to claim a fifth consecutive home win over Barcelona, who have still not won at Anoeta since 2007.
The surprise defeat comes a week after the 2-1 loss to Real Madrid and Barca have now gone three games without a league win, their longest stretch without victory under Luis Enrique.
Barca remain top of the table but are now just three points above Atletico Madrid and four clear of Real Madrid, although they have a superior head-to-head record against both sides, having led the league by nine points eight days ago.
Rafinha made his first appearance since tearing cruciate ligaments in his knee last September, starting at the expense of Andres Iniesta, while Sergi Roberto replaced Jordi Alba and Arda Turan came in for Ivan Rakitic. Munir El Haddadi filled in for the suspended Luis Suarez, just as he had replaced Lionel Messi in this fixture last year.
And just as last January against David Moyes' side, the Catalans got off to a nightmare start.
Roberto failed to get close to La Real captain Xabi Prieto and the veteran picked out Oyarzabal around the penalty spot, the winger leaping to glance the ball high into the far corner and beyond the reach of former Sociedad player Claudio Bravo.
Just like last season, La Real had Barca where they wanted them and were happy to sit back and soak up the pressure, successfully frustrating the Catalans. The visitors' only chance in the first half fell the way of Turan after Neymar flicked on a Messi cross, but Geronimo Rulli saved with his legs.
Luis Enrique appeared to acknowledge he had made a mistake in rotating his team, bringing on Iniesta immediately after half-time and later changing Alba for Turan and Rakitic for Roberto.
But Barca continued to struggle to find space to create chances. Iniesta went for goal from the edge of the box with a stinging shot but Rulli tipped it away, and the Argentinian made another impressive save later on to deny compatriot Messi.
The young goalkeeper frustrated Barca's talisman once more before the end, getting down low to block a header and set up a famous win against his old side for coach Eusebio Sacristan.