Leverkusen end year on top
Playmaker Toni Kroos, on loan from Bayern Munich, struck his second goal of the match after 69 minutes to secure the victory and lift unbeaten Leverkusen to 35 points from 17 matches, one ahead of Schalke 04 who beat Mainz 1-0 on Friday.
The Bundesliga resumes on January 15.
On a snowy, bitterly cold day across most of Germany, Bayern demolished bottom side Hertha Berlin 5-2 for a fourth straight league win to stay in the hunt in third place on 33 points.
Borussia Dortmund, celebrating their 100th anniversary, beat Freiburg 1-0 thanks to Argentine Lucas Barrios's ninth goal of the season to move up to fourth on 30 points.
VfB Stuttgart continued to climb the table under new coach Christian Gross, beating Hoffenheim 3-1 to reach 14th place after Ciprian Marica put them ahead with a first-half penalty.
Hoffenheim equalised through Maicosuel just before the break but had Luiz Gustavo sent off for a second booking in the 52nd, allowing the hosts to net twice through Cacau and Sami Khedira to secure their third win of the season.
Leverkusen, who became only the third Bundesliga team to remain undefeated in the first half of the season, looked on their way to victory when the gifted Kroos fired them into the lead after 18 minutes, his shot taking a lucky deflection.
In-form Gladbach refused to give up and defender Roel Brouwers stunned the hosts in the 36th with an equaliser, tapping home after goalkeeper Rene Adler failed to block.
Another defender, Dante, put the visitors ahead nine minutes after halftime but Swiss international Eren Derdiyok levelled with a shot inside the box on the hour before Kroos netted the winner with his sixth goal of the season.
"It was a good game considering the weather and the (icy) state of the pitch," said Leverkusen coach Jupp Heynckes, who came out of retirement to take over in the close season.
"I have to pay my team a compliment for hanging in there in such a difficult situation, to come back and win the match."
Bayern had a trouble-free afternoon against Hertha, with defender Daniel van Buyten opening the scoring before Mario Gomez and Arjen Robbed netted within two minutes to cheer up the fans watching in temperatures of minus 10 degrees Celsius.
Midfielder Thomas Mueller made it 4-0 on the hour before Adrian Ramos pulled one back for Hertha. Ivica Olic scored Bayern's fifth before Raffael headed Hertha's second in the final minute.
"This is how I want us to play as Bayern Munich," said coach Louis van Gaal. "We are still there in three competitions and we can now enjoy a relaxed Christmas."