Bayer Leverkusen and Borussia Dortmund both suffered defeats as Bayern Munich enjoyed a fine Bundesliga weekend despite being away in Morocco at the Club World Cup.
Hertha Berlin made it three wins in a row to practically end any lingering hopes Borussia Dortmund had of regaining the title with a 2-1 win at the Westfalenstadion.
Marco Reus gave Dortmund an early lead and it seemed like Jurgen Klopp's men were going to get the win they were looking for at the end of 2013.
However, reported Dortmund target Adrian Ramos brought Berlin level with his 11th goal of the season midway through the first half and Sami Allagui sealed victory for Jos Luhukay's men on the stroke of half-time.
Dortmund still trail Bayern Munich by 12 points but have now played a game more, and will be overtaken by fourth-placed Borussia Moenchengladbach if they earn a point at home to Wolfsburg on Sunday.
Santiato Garcia grabbed a dramatic late winner as Werder Bremen defeated second-placed Bayer Leverkusen 1-0 at the Weser Stadion.
Bremen's coach Robin Dutt was under pressure to deliver the points after a run of poor results, and the delight on his face come the final whistle said it all as the northern Germany side returned to winning ways to pull away from the relegation zone.
Garcia was the matchwinner with a 74th-minute strike, but Bremen were worthy victors against a Leverkusen side who remain seven points behind league leaders Bayern Munich, who have a game in hand.
Nurnberg ended 2013 still waiting for their first win of the season after being held to a 0-0 draw by Schalke on Saturday.
The Bavarian club's 11th draw of the season left them sharing bottom place with Eintracht Braunschweig, with only goal difference keeping Gertjan Verbeek's team off the foot of the table.
Nurnberg created nearly all of the chances, had a goal disallowed and hit the woodwork for the 16th time this season, but failed to do the most important thing -- score a goal.
Shinii Okazaki scored two and created another as Mainz added to Hamburg's woes with a 3-2 win at the HSV-Arena.
The Japanese forward scored his seventh and eighth goals of the season and set up Nicolai Muller for his eighth strike of the campaign to earn Thomas Tuchel's men all three points against Hamburg, who lost Tomas Rincon to a red card.
Hakan Calhanoglu and Rafael van der Vaart both scored for the northern Germany side, who end the year just two points above the relegation zone.
A Torten Oehrl penalty earned Eintracht Braunschweig only their third win of the season and lifted them off the foot of the table, at least for a few hours, with a 1-0 win over Hoffenheim, who failed to score for only the second time this season.
Oehrl had an early goal ruled out for offside, but he made sure of the points from the penalty spot in the 29th minute. Braunschweig ended the game with 10 men after Timo Perthel was sent off, but they held on for a win which revives hopes of avoiding relegation this season.
Two goals from Admir Mehmedi gave Freiburg reason to be cheerful at the end of a tiring and gruelling first half of the season.
The Swiss striker scored two goals in 10 first-half minutes to help Christian Streich's men get the better of Hannover 2-1. Hannover find themselves in freefall, and just four points above Freiburg at the turn of the year.
Their best player Leonardo Bittencourt did grab a late consolation, but that may not be enough to keep coach Mirko Slomka, the club's longest-serving coach, in a job going into 2014.