Champion Dortmund held by Stuttgart
Both defending champion Borussia Dortmund and Schalke 04 dropped points on leaders Bayern Munich this weekend. Dortmund was held to a scoreless draw at home against Stuttgart, while Schalke 04 lost on a late goal away to Hoffenheim.
On Sunday, Bayer Leverkusen got the better of Rhineland neighbours Fortuna Dusseldorf by the odd goal in five at the BayArena to move up past Dortmund to fourth in the Bundesliga table.
Sidney Sam, Andre Schurrle and Gonzalo Castro got the goals for the home side with Nando Rafael and Adam Bodzek on target for the visitors, who made life hard for Leverkusen.
The hosts were reduced to 10 men in the 65th minute, with the score at 2-1, when substitute Simon Rolfes was sent off just two minutes after replacing Sam.
But Castro extended their lead and Bodzek's 86th-minute strike was in vain.
Werder Bremen moved above Mainz in the table with a 2-1 win in an entertaining game at the Weser Stadion.
Aaron Hunt scored both goals for Thomas Schaaf's men, the second coming late in the game to render Adam Szalai's earlier equaliser worthless for Thomas Tuchel's side.
Bremen have now picked up seven points in their last three games while Mainz lost for the first time since September 25.
On Saturday, Sven Schipplock scored a stoppage-time winner as Hoffenheim edged out second-placed Schalke 3-2.
Kevin Volland gave Hoffenheim the lead in the 13th minute with Roman Neustadter equalising in the 37th minute.
Roberto Firmino's penalty after 67 minutes pushed Hoffenheim ahead once again before Atsuto Uchida levelled things up in the 82nd minute.
However, Schipplock scored a minute into injury time to seal the victory and leave Schalke seven points behind the leaders.
Borussia Dortmund also lost ground at the top as they were held to a goalless draw by Stuttgart.
Robert Lewandowski hit the woodwork for Dortmund and Stuttgart goalkeeper Sven Ulreich made a string of saves, but the home side were unable to make the breakthrough.
Hannover returned to winning ways at the AWD-Arena with a 2-0 victory over Augsburg.
Mame Biram Diouf scored the opener in the 26th minute and Lars Stindl made the game safe five minutes from time as Hannover bounced back from the defeat against Borussia Monchengladbach which had ended a 22-match unbeaten home run.
Timo Gebhart scored the only goal in the 76th minute as Nurnberg beat Wolfsburg to end a six-match winless streak.
Wolfsburg took a step back after two straight victories under interim coach Lorenz Kostner, remaining lodged in the bottom three with eight points.
Freiburg came from a goal down to share a 1-1 draw with Borussia Monchengladbach.
Igor de Camargo gave Gladbach the lead in the 49th minute but Daniel Caligiuri equalised from the spot in the 77th minute.
On Friday night Eintracht Frankfurt maintained their unbeaten record at the Waldstadion but will be disappointed with a 1-1 draw against struggling Greuther Furth.
Alexander Meier gave Frankfurt the lead in the first minute, but they were unable to add to that early strike and Zoltan Stieber levelled for the guests early in the second half.
For the Bavarians, it was their fourth away game of the season without defeat with six of their seven points now arriving on their travels as they moved off the foot of the table above Augsburg.