Atletico Madrid moved level on points with La Liga leaders Real Sociedad after beating Barcelona, who are now nine points adrift of the top two.
Yannick Carrasco scored the only goal on the stroke of half-time, driving in from midway inside the Barcelona half with goalkeeper Marc-Andre ter Stegen having tried to beat him to the ball.
Atletico keeper Jan Oblak saved well from Clement Lenglet, but the visitors were well below par.
The result leaves Barcelona 10th.
They have 11 points from eight games, nine behind Sociedad, who are only ahead of Atletico on goals scored, both having the same goal difference, although Atletico have a game in hand.
This win continued Atletico’s unbeaten start to the season and stretched their unbeaten run to 24 games in all competitions, while it was Barca’s third defeat in eight La Liga games.
Lionel Messi was unusually subdued, although the forward had only returned from a long trip to South America on Thursday after international duty with Argentina.