Thomas Muller unselfishly set up Leon Goretzka for the opener after half an hour before Robert Lewandowski doubled the lead 15 minutes from time with his 60th goal of 2021 after good play by Alphonso Davies.
Third-placed Freiburg scored a late consolation through Janik Haberer as it finished 2-1.
Leaders Bayern have six league games left before the winter break and only need one more goal to equal Cologne’s record of 101 Bundesliga goals in 1977.
Lewandowski’s goals for Bayern and Poland in this year have come in only 50 games.
Bayern are four points above second-placed Borussia Dortmund, who lost 2-1 at RB Leipzig.
Wolfsburg are up to fourth after Lukas Nmecha’s early strike gave them a 1-0 home win against Augsburg.
Masaya Okugawa’s 19th-minute goal was enough for Arminia Bielefeld to get their first league win of the season, sealing a 1-0 success at fellow strugglers Stuttgart.
Milos Pantovic scored deep into stoppage time to seal a 2-0 victory for Bochum against Hoffenheim. Soma Novothny had broken the deadlock after 66 minutes.
The highly-rated teenager netted Barcelona’s early opener as they raced into a 3-0 half-time lead, with Sergi Busquets and Memphis Depay also on the score sheet.
However, Fati limped off moments before the break clutching the back of his left leg. Celta Vigo then scored three second-half goals to rescue a point, with their comeback completed by a last-gasp equaliser from Iago Aspas.
Aspas had started the fight back before Nolito got the hosts within a goal of Barcelona with just over quarter of an hour remaining.
It was Sergi Barjuan’s final game as Barcelona’s caretaker manager, with the club announcing late on Friday that Xavi would become their next permanent coach.
Real Madrid returned to the top of the table with a 2-1 win against Rayo Vallecano at the Bernabeu in the late kick-off.
Goals from Toni Kroos and Karim Benzema put the hosts in control at the break but Radamel Falcao replied 15 minutes from the end to set up a nervy finish for Carlo Ancelotti’s men.
Thibaut Courtois made a fine save in injury time to ensure his side took all three points.
LaLiga’s bottom club Levante are still looking for their first win of the season after losing 2-1 at Alaves.
Jorge De Frutos raised hopes of a maiden success when he put the visitors ahead but Joselu equalised from the penalty spot after 77 minutes before scoring a stoppage-time winner.
First-half goals from Adria Pedrosa and Raul De Tomas gave Espanyol and 2-0 home win against Granada.
Atalanta are up to fourth in Serie A following their 2-1 win at bottom club Cagliari. Mario Pasalic and Duvan Zapata scored for the visitors either side of Joao Pedro’s equalising goal.
Juan Cuadrado struck in stoppage time to give Juventus a 1-0 home victory against Fiorentina, who had Nikola Milenkovic sent off midway through the second half. Massimiliano Allegri’s side are now up to eighth in the table.
Jacopo Sala’s goal saw Spezia climb out of the relegation places with a 1-0 win against Torino.
Late goals from Alberth Elis and M’Baye Niang could not prevent runaway Ligue 1 leaders Paris Saint Germain from claiming another victory at Bordeaux.
PSG were all ready firmly in the driving seat through Neymar’s double and a Kylian Mbappe effort before Elis’ 78th-minute reply. Niang narrowed the deficit to a single goal in stoppage time but Mauricio Pochettino’s team won 3-2 and stay top of the table by 10 points.
Azzedine Ounahi’s late equaliser earned Angers a point from a 1-1 draw at Lille, who led through Tiago Djalo’s first-half effort. The hosts finished the match with 10 men after Amadou Onana was sent off deep into stoppage time.
Register for free to continue reading
Registration is a free and easy way to support our truly independent journalism
By registering, you will also enjoy limited access to Premium articles, exclusive newsletters, commenting, and virtual events with our leading journalists
Already have an account? sign in