Hannover stunned Bayern Munich while Schalke and Bayer Leverkusen both won.
Hannover have moved off the foot of the Bundesliga table following an unlikely 1-0 win at Bayern Munich.
Szabolcs Huszti's effort on the stroke of half-time was enough for the visitors to bag the points at the Allianz Arena.
Schalke are now third following a 2-0 win over Borussia Monchengladbach at Borussia-Park.
Santos Jose Antonio's own goal gave Schalke the lead with Gustavo Varela's goal confirming the win.
Bayer Leverkusen continued the away win theme with a 3-1 success at Bochum, despite finishing a man light.
Sergei Barbarez and Andrei Voronin ensured Leverkusen had a commanding half-time lead.
Ivo Ilicevic pulled one back and things were getting tasty when Paul Freier was dismissed for bagging a second yellow card.
Instead of Bochum levelling the match Tranquillo Barnetta settled the contest with their third.
Naohiro Takahar's 21st minute goal was enough to lift Eintracht Frankfurt over Energie Cottbus.
Hertha Berlin came from behind to lead at Arminia Bielefeld but were held to a 2-2 draw.
Sibusiso Zuma put the home side ahead, but goals either side of half-time from Gilberto and Christian Gimenez turned the game around.
However, Arminia were not done and Radim Kucera's 76th minute effort ensured the sides finished with a point apiece.