Álex Grimaldo scored twice as Bayer Leverkusen stayed top of the Bundesliga on Saturday with a 3-2 win at Hoffenheim.
But coach Xabi Alonso’s team had to work hard for its ninth win from 10 games, after letting a two-goal lead slip.
Florian Wirtz scored in the ninth minute after combining brilliantly with Victor Boniface, and Grimaldo added another with a fine strike from distance before the break.
Hoffenheim’s Anton Stach pulled one back in the 56th after intercepting a poor pass from Leverkusen goalkeeper Lukas Hradecky, and Wout Weghorst equalised two minutes later after Maximilian Beier’s initial effort struck the post.
Grimaldo had the final say in the 70th when Boniface sent the ball back to him to unleash another fierce shot into the top corner.
Union Berlin slumped to its 12th consecutive defeat, a 3-0 loss at home to Eintracht Frankfurt, that deepens the sense of crisis at the former overachiever.
Union coach Urs Fischer could only watch helplessly as Omar Marmoush scored for Frankfurt in the second minute, then added another goal in the 14th.
Union’s bad luck continued as David Datro Fofana hit the crossbar in response.
Mario Gotze set up Spanish teenager Nacho Ferri to seal the visitors’ win in the 82nd. It was Union’s eighth straight defeat in the league, after finishing fourth last season.
Vincenzo Grifo scored a penalty in injury time for Freiburg to draw with Borussia Mönchengladbach 3-3. Jordan Pefok netted for Gladbach before going off injured. It was the American’s first Bundesliga goal of the season.
Also, Cologne drew with Augsburg 1-1, and Mainz defeated Leipzig 2-0 in its first game since Bo Svensson quit as coach.