Surprise package Hanover up to second
The visitors, usually involved in the relegation battle, silenced the home crowd after 15 minutes when Mohammed Abdellaoue beat two defenders and threaded the ball past keeper Oka Nikolov.
The 36-year-old Nikolov denied Emanuel Pogadetz from close range, palming his header from five metres over the bar but was helpless when Christian Schulz headed in the ensuing corner.
Ivorian striker Didie Ya Konan notched his 10th goal of the campaign a minute from time to complete Hanover's fifth away win this season.
"We are working well together," Hanover coach Mirko Slomka told reporters. "At the moment everything is working out well."
Kaiserslautern, playing with 10 men for 50 minutes after Srdjan Lakic was sent off, battled back from a goal down to draw 1-1 with Cologne and move up to 10th spot on 22 points.
Lukas Podolski put the visitors ahead on the half hour and the Germany international twice came close to scoring the winner in the dying minutes.
Borussia Dortmund, who beat Bayer Leverkusen 3-1 on Friday, are top on 46 points from 18 games with Hanover on 34. Mainz 05, who lost to VfB Stuttgart 1-0 on Saturday, and Leverkusen are on 33.
Champions Bayern Munich are 16 points off the top after drawing 1-1 at VfL Wolfsburg on Saturday.