BERLIN (AP) -- Defending champion Bayern Munich and Bundesliga leader Leipzig both left it late to secure wins on Saturday with 18-year-old Dutch forward Joshua Zirkzee again proving the hero for Bayern.
Substitute Zirkzee scored in the 86th minute for Bayern to beat Wolfsburg 2-0. Serge Gnabry added another in the 89th while the visitors were still recovering.
Zirkzee also scored on his debut against Freiburg on Wednesday in Bayern's 3-1 win.
Leipzig needed late goals to overcome Augsburg 3-1 at home, opening up a two-point lead over second place Borussia Monchengladbach, which was held 0-0 in the late game at Hertha Berlin.
Also Saturday: Schalke salvaged a 2-2 draw at home with Freiburg; Cologne beat Werder Bremen 1-0; and Bayer Leverkusen won 1-0 at Mainz.
Bayern labored for long periods and was fortunate not to concede late when Wolfsburg midfielder Maximilian Arnold's deflected effort went just wide in the 81st.
Hansi Flick turned to Zirkzee for the finale and Thomas Muller set up the youngster for the breakthrough just three minutes after he came on.
''He has a smile on his face,'' said Flick, Bayern's interim coach who is likely to be kept on for the rest of the season.
Robert Lewandowski set up Gnabry to make sure of the win as Bayern consolidated third place before the winter break. Bayern stayed four points behind Leipzig with 33 points for its worst opening half to the season since 2010-11.
''We're really looking forward to the second half,'' Bayern captain Manuel Neuer said.
Leipzig claimed the unofficial title of ''autumn champion'' after its 11th win from 17 games ensured it finished top at the league's halfway stage.
Timo Werner's early goal was ruled out for a hand ball by Tyler Adams in the buildup. The American midfielder was making his first start of the season after recovering from a groin injury sustained in Leipzig's German Cup final loss to Bayern Munich on May 25.
Florian Niederlechner then stunned home fans with the opening goal in the eighth minute. There was a lengthy delay before the goal was confirmed with a VAR check.
Leipzig kept pushing for a response and missed a number of chances before the equalizer came through Konrad Laimer in the 68th, again after a long VAR check.
Patrik Schick, who scored the equalizer for a 3-3 draw at Borussia Dortmund on Tuesday, put Leipzig ahead off a corner in the 80th and Yussuf Poulsen made sure in the 89th.
More AP soccer: https://apnews.com/Soccer and https://twitter.com/AP-Sports
Ciaran Fahey on Twitter: https://twitter.com/cfaheyAP