Marcus Rashford came off the bench to score for Barcelona but the La Liga leaders lost an incident-packed game at Real Sociedad.
The England forward equalised with a 70th-minute header in San Sebastian - his eighth goal in all competitions since joining on loan from Manchester United - to cancel out Mikel Oyarzabal's side-foot volley.
But Barcelona were on level terms for less than a minute before Goncalo Guedes scored what proved to be the winner.
In a pulsating game, Barca were awarded a penalty only for it to be overturned and had three goals disallowed, while Dani Olmo hit the post twice.
Comments