Barcelona let slip a two-goal lead to draw 2-2 away to Real Sociedad on Saturday, a result which prompted coach Pep Guardiola to refute talk of a two-horse La Liga title race.
Xavi Hernandez gave Barcelona the lead in the eighth minute before Cesc Fabregas scored his third in three games after Claudio Bravo could only deflect Pedro Rodriguez's shot at the feet of the former Arsenal skipper.
But the hosts fought back after the break in the face of sustained Barcelona pressure and shocked the defending champions with two goals in as many minutes.
Imanol Agirretxe nodded past Victor Valdes in the 59th minute before a calamitous David Villa back pass played in Agirretxe whose deflected shot against the bar was turned in by Antoine Griezmann.
"They talk of a league of only two teams and this shows contempt to the others who are doing better and better and demonstrating their desire to beat us," Guardiola told reporters in San Sebastian.
"it's a good lesson for the future. Sociedad's goals arrived when we were playing our best but it shows that in football you always have to be completely alert."