Union Berlin went top of the Bundesliga for the first time in their history thanks to a 1-0 victory at Cologne.
An early own goal by Timo Hubers was enough to reach the summit, although they squandered the chance to double the lead soon after when goalkeeper Marvin Schwabe saved Jordan Siebatcheu’s penalty.
Cologne’s Luca Kilian was sent off for a second yellow card nine minutes from time.
Union’s place at the top was secure after Freiburg had to settle for second place following a goalless draw at home to Borussia Monchengladbach.
Real Madrid maintained their two-point lead over Barcelona at the top of LaLiga after coming from behind to beat Mallorca 4-1.
Vedat Muriqi’s 35th-minute goal looked like giving the visitors a half-time lead but Federico Valverde equalised just before the break and Vinicius Jr, Rodrygo and Antonio Rudiger turned things around in the second half.
Real Sociedad, Europa League winners over Manchester United at Old Trafford, lost 2-1 at lowly Getafe, who registered their first win of the season.
Unbeaten Atalanta were held to a 1-1 draw at home to newly-promoted Cremonese and missed the chance to regain top spot from Napoli in Serie A.
Merih Demiral had put the hosts ahead in the 74th minute but his goal was cancelled out four minutes later by Emanuele Valeri.
Juventus’ frustrating start to the season took another twist with a chaotic finish in their 2-2 draw at home to Salernitana.
Leonardo Bonucci scored an equaliser in the third minute of added time before Arkadiusz Milik was dismissed for a second yellow card after taking his shirt off celebrating what he thought was the winning goal, only for it to be overruled by VAR.
A melee ensued, with Juan Cuadrado and the visitors’ Federico Fazio both sent off, while Juve coach Max Allegri was also red-carded.
Salernitana had led 2-0 at half-time through Antonio Candreva and Krzysztof Piatek, from the penalty spot, only for Brazilian defender Bremer to kick-start Juve’s comeback early in the second half.