Barcelona went three points clear at the top of La Liga after a hard-fought 1-0 win at Atletico Madrid.
Xavi’s men made a stuttering restart to their season after the World Cup, with them held to a 1-1 derby draw against Espanyol in their first game back.
They get their season back on track at the Estadio Wanda Metropolitano, but they were made to work for it.
It was Ousmane Dembele who was the Barcelona matchwinner, with teenage stars Perdi and Gavi combining to create the opportunity. He made no mistake, sweeping the ball into the bottom corner.
That appeared to shake Atletico into action, and they started laying siege to the Barcelona goal, peppering it with 20 shots throughout the contest.
No matter what they did, though, Barca stood firm. Atletico frustration started to build and Stefan Savic and Ferran Torres were both sent off for an injury-time scuffle.
Antoine Griezmann had one final chance to salvage a draw for Atletico, but his shot was cleared off the line by Ronald Araujo.
GK: Jan Oblak (6); RB: Nahuel Molina (6), CB: Stefan Savic (6), CB: Jose Maria Gimenez (7), LB: Reinildo (7); RM: Marcos Llorente (7), CM: Koke (7), CM: Pablo Barrios (6), LM: Yannick Carrasco (6); Antione Griezmann (6), CF: Joao Felix (6)
Subs: Geoffrey Kondogbia (N/A), Alvaro Morata (N/A), Angel Correa (N/A), Thomas Lemar (N/A), Sergio Reguilon (N/A)
Manager: Diego Simeone (6)
GK: Marc-Andre ter Stegen (7); RB: Jules Kounde (7), CB: Ronald Araujo (7), CB: Andreas Christensen (8), LB: Alejandro Balde (8); CM: Sergio Busquets (7), CM: Frenkie de Jong (7), CM: Gavi (7), RF: Ousmane Dembele (8), CF: Ansu Fati (6), LF: Pedri (8)
Subs: Ferran Torres (4), Franck Kessie (6), Raphinha (N/A), Marcos Alonso (N/A), Sergi Roberto (N/A)
Manager: Xavi Hernandez (8)