Bayern Munich dropped points for the third successive Bundesliga game as Stuttgart scored a stoppage-time penalty to draw 2-2 at the Allianz Arena.
The hosts had taken the lead in the 36th minute through 17-year-old Mathys Tel, who became Bayern’s youngest scorer in the Bundesliga.
Stuttgart striker Serhou Guirassy then saw a goal ruled out for a foul in the build-up.
The visitors, though, did equalise on the hour through substitute Chris Fuhrich – only for Bayern to swiftly regain the lead when Jamal Musiala slotted into the far corner.
Guirassy struck the crossbar and had another goal ruled out by VAR, but had the final say in stoppage time.
Referee Christian Dingert checked the pitchside monitor for a late challenge by Matthijs De Ligt on the Guinea striker and pointed to the penalty spot, with Guirassy making no mistake to earn Stuttgart a point.
Hoffenheim moved level with leaders Bayern after beating 10-man Mainz 4-1.
Defender Alexander Hack was sent off late in the first half after VAR upgraded a yellow card to red for a foul, which resulted in a penalty – but Andrej Kramaric fired wide.
The Croatia forward made amends to put Hoffenheim ahead early in the second half, with Grischa Promel and Munas Dabour also on the scoresheet. Although Dominik Kohr struck a late consolation, Hoffenheim defender Pavel Kaderabek added a fourth in stoppage time.
Elsewhere on Saturday, RB Leipzig beat Borussia Dortmund 3-0 to give new coach Marco Rose a win in his first game in charge against his former club.
Wolfsburg secured their opening Bundesliga victory after they won 1-0 at Eintracht Frankfurt, while Schalke saw off bottom club Bochum 3-1 to get their own maiden victory, leaving the visitors still pointless. Hertha Berlin and Bayer Leverkusen drew 2-2.
Barcelona ran out comfortable 4-0 winners at Cadiz, where the LaLiga match had been stopped during the closing stages following a medical emergency in the stands.
Frenkie De Jong put Barca in front early in the second half, before Robert Lewandowski – who had started on the bench ahead of the crunch Champions League clash against his former club Bayern Munich – doubled the lead from close range.
With around 10 minutes left, the match was suspended because of a medical emergency in the stands, which saw the players taken off.
Play eventually resumed just after 9pm local time, with Ansu Fati and Ousmane Dembele adding late goals as Barca moved top above Read Madrid.
Jose Carmona struck twice in the first half as Sevilla won 3-2 at Espanyol to finally record a LaLiga victory.
The visitors finished with 10 men after former Tottenham midfielder Erik Lamela was sent off late on.
Saturday’s late game saw Atletico Madrid coast past Celta Vigo 4-1 while Rayo Vallecano had earlier beaten Valencia 2-1.
Giacomo Raspadori’s late goal put Napoli top of Serie A with a 1-0 win over Spezia.
AC Milan had Portugal forward Rafael Leao sent off early in the second half at Sampdoria but still ran out 2-1 winners after a penalty from Olivier Giroud to stay level on 14 points with Napoli.
Marcelo Brozovic struck with just a minute left as Inter Milan beat Torino 1-0 at the San Siro.
Neymar’s first-half goal proved enough to give Paris St Germain a 1-0 home win over Brest to extend their unbeaten start.
Brest missed the chance to equalise during the second half when Islam Slimani saw his penalty saved by Gianluigi Donnarumma.
Marseille moved up into second after beating Lille 2-1 for a fifth straight league win.