BERLIN (AP) -- Union Berlin claimed its first-ever Bundesliga win to end Borussia Dortmund's perfect start to the season with a 3-1 shock victory on Saturday.
It was a major upset in the competition's history. Union clinched promotion via a playoff in May after finishing third in the second division last season. Title contender Dortmund, which strengthened significantly in the offseason, arrived at Union's small stadium in a forest in the eastern Berlin borough of Kopenick having beaten Bayern Munich in the season-opening super cup, then scoring eight goals in two league wins.
But Lucien Favre's side wasn't able to cope with the hosts' pressing game. Marius Bulter scored twice for Union and Sebastian Andersson grabbed the other goal as the promoted side won a top-flight game at the third attempt.
''It was a key game to show the fans and the city that we've arrived in the Bundesliga,'' Union defender Neven Subotic said after facing his former side. The 30-year-old defender helped Dortmund to Bundesliga titles in 2011 and 2012 and played 196 league games in 10 years at the club.
Union rode its luck at times, especially in the first half, when Jadon Sancho, Marco Reus, Julian Weigl and Julian Brandt - making his first start for Dortmund - all went close.
Bulter, a loan signing from third-division Magdeburg, fired Union in front after a corner in the 22nd but the home fans' joy was cut short three minutes later as Sancho crossed for Paco Alcacer's equalizer.
The second half began with flares lighting up both ends, and the smoke-filled stadium erupted in noise again in the 50th with Bulter grabbing his second on a rebound after Roman Burki saved Andersson's first effort.
Even Union fans looked shocked when Andersson made it 3-1 in the 75th after brilliant play from Sheraldo Becker who played the ball through Weigl's legs.
Union fans stayed long after the final whistle, celebrating with the players who seemed in no hurry to leave the pitch.
''Today was amazing, it feels like we're playing with 12 men,'' Becker said.
BAYERN BOUNCES BACK
Alphonso Davies scored his first goal of the season as Bayern Munich rallied to thrash Mainz 6-1.
Bayern coach Niko Kovac handed first starts to Philippe Coutinho and Ivan Perisic, but it was their substitutes, Thomas Muller and Davies respectively, who combined for the final goal in the 81st minute when Muller gave the Canadian teenager a tap-in.
Robert Lewandowski also scored to take his tally to six goals in three Bundesliga games this season, with Benjamin Pavard, David Alaba, Perisic and Kingsley Coman grabbing the other goals after Jean-Paul Boetius' early opener for Mainz.
Coutinho played just behind Lewandowski and was involved early as he won the ball to set up the Poland striker for the game's first big chance in the fourth minute.
But Boetius stunned home fans two minutes later, when Pavard left him free to head Ronael Pierre-Gabriel's cross past the static Manuel Neuer in the Bayern goal.
Bayern seemed out of sorts with poor passing. But the home side gradually gained the upper hand and Pavard equalized off Perisic's cross in the 36th.
Alaba made it 2-1 with a brilliant free kick just before the break, and there was no stopping the home side after that.
HERTHA WOES CONTINUE
Only one half of the German capital was celebrating Saturday as Hertha Berlin conceded two own-goals in a 3-0 defeat at Schalke.
Hertha has one point from its first three games, after a draw in Munich.
Also, Cologne rallied from a goal down to win 2-1 in Freiburg for its first victory back in the top flight. Paderborn drew at Wolfsburg 1-1, and Hoffenheim held Bayer Leverkusen 0-0.
More AP soccer: https://apnews.com/apf-Soccer and https://twitter.com/AP-Sports
Ciaran Fahey on Twitter: https://twitter.com/cfaheyAP