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.
Barcelona also lost defender Gerard Pique to injury to cap a bad night.
Pique looked visibly upset as he hobbled off in the second half.
Barcelona confirmed after the game that Pique had sprained his right knee and are “waiting for more tests to ascertain the extent of the injury”.
There is no timescale on how long Pique could be out for but reports in Spain suggest he could be sidelined for up to six months.
Barcelona rarely looked like rescuing a point from the game, with Jan Oblak’s save from a Clement Lenglet header the closest the visitors game.
The result leaves Barcelona 10th in La Liga. 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.
‘It was our turn to win’ – what they said
Atletico Madrid boss Diego Simeone: “It was our turn to win today but it won’t change our objectives.
“We knew exactly how we needed to play and that we would have to work as hard in attack as in defence.”
Barcelona boss Ronald Koeman: “A team like Barca cannot afford to concede a goal like that.
“It was our fault, it’s not good and we can’t let something like that happen again.”
- 15SavicBooked at 79mins
- 2GiménezBooked at 80mins
- 21CarrascoBooked at 26minsSubstituted forFelipeat 90+1′minutes
- 14LlorenteSubstituted forDiego Costaat 73′minutes
- 6KokeBooked at 9mins
- 10CorreaSubstituted forKondogbiaat 84′minutes
- 7SequeiraSubstituted forLemarat 84′minutes
- 12Lodi dos Santos
- 19Diego Costa
- 20Machín Pérez
- 1ter Stegen
- 20RobertoSubstituted forat 90+1′minutes
- 3PiquéSubstituted forDestat 62′minutes
- 8PjanicSubstituted forBraithwaiteat 83′minutes
- 21de Jong
- 16GonzálezSubstituted forCoutinhoat 57′minutes
- 7GriezmannSubstituted forMachado Trincãoat 83′minutes
- 13Murara Neto
- 17Machado Trincão
- José Luis Munuera Montero
Match ends, Atlético de Madrid 1, Barcelona 0.
Second Half ends, Atlético de Madrid 1, Barcelona 0.
Corner, Barcelona. Conceded by Geoffrey Kondogbia.
Lionel Messi (Barcelona) wins a free kick in the attacking half.
Foul by Geoffrey Kondogbia (Atlético de Madrid).
Foul by Philippe Coutinho (Barcelona).
Koke (Atlético de Madrid) wins a free kick on the right wing.
Substitution, Atlético de Madrid. Felipe replaces Yannick Carrasco.
Sergi Roberto went off injured after Barcelona had used all subs.
Corner, Barcelona. Conceded by José Giménez.
Attempt blocked. Sergi Roberto (Barcelona) right footed shot from outside the box is blocked. Assisted by Ousmane Dembélé.
Attempt blocked. Martin Braithwaite (Barcelona) right footed shot from the centre of the box is blocked.
Attempt missed. Trincão (Barcelona) left footed shot from outside the box is high and wide to the left. Assisted by Sergi Roberto.
Attempt missed. Yannick Carrasco (Atlético de Madrid) right footed shot from the centre of the box is too high following a corner.
Corner, Atlético de Madrid. Conceded by Frenkie de Jong.
Offside, Atlético de Madrid. Koke tries a through ball, but Diego Costa is caught offside.
Substitution, Atlético de Madrid. Geoffrey Kondogbia replaces Ángel Correa.
Substitution, Atlético de Madrid. Thomas Lemar replaces João Félix.
Substitution, Barcelona. Martin Braithwaite replaces Miralem Pjanic.
Substitution, Barcelona. Trincão replaces Antoine Griezmann.