Hannover 96 stunned Bayern Munich 1-0 on Wednesday to drop the defending champion six points behind leader Werder Bremen in the Bundesliga.
Wednesday's loss was the fourth in 11 matches for Bayern, which lost only three all of last season.
Hannover, which entered the game in last place, outplayed Bayern and scored the only goal two minutes before halftime.
Jiri Stajner stole the ball from Martin Demichelis on the sideline and fed Szabolcs Huszti, who easily beat Oliver Kahn. The win moved up Hannover three spots and out of the relegation zone.
On Tuesday, Werder Bremen beat Nuremberg 2-1 to retain its two-point league lead over Stuttgart, which defeated Hamburger SV 2-0. Bremen now has 23 points, Stuttgart 21 and Schalke moved into third by beating Borussia Moenchengladbach 2-0 to improve to 20 points.
Hertha Berlin rallied for a 2-2 draw at Arminia Bielefeld and jumped over Bayern on goal difference into fourth place. Both teams have 17 points.
Also Wednesday, 10-man Bayer Leverkusen won 3-1 at Bochum and Eintracht Frankfurt edged Energie Cottbus 1-0 on the road.
In Moenchengladbach, Schalke went ahead after 11 minutes on a bizarre goal. The ball was deflected several times between Halil Altintop and Moenchengladbach defenders, and finally bounced off the leg of Ze Antonio, leaving goalkeeper Kasey Keller no chance. Gustavo Varela sealed the victory in the 32nd on a counter.
In Bochum, Sergej Barbarez headed Leverkusen ahead off a corner after seven minutes and Andriy Voronin doubled the advantage in the 33rd.
Substitute Ivo Ilicevic cut the deficit three minutes into the second half by drilling a free kick from 20 yards.
In the 52nd, Leverkusen's Paul Freier was sent off with his second yellow card but Tranquillo Barnetta scored in the 71st to make it 3-1 for the short-handed visitors.
Naohiro Takahara scored his second goal in two games for Eintracht Frankfurt when he connected with a diving header from close range after a flicked corner cross in the 22nd minute in Cottbus. His goal lifted Frankfurt into seventh spot.
Bielefeld took the lead in the 28th on a disputed goal by Sibusiso Zuma. The linesman flagged Zuma for offside and Berlin defenders did not challenge the South African, who curled the ball into the upper corner. But the referee never stopped play and the goal stood because the ball had rolled to Zuma off a botched clearance by Berlin defender Dick van Burik.
On the other side, Marko Pantelic hit the post and Gilberto tied the game in first-half injury time.
Berlin took the lead in the 52nd, when Christian Gimenez beat the offside trap to finish off a fast break, only to see the home team equalize in the 77th with a glancing header from Radim Kucera.
Borussia Dortmund drew 0-0 with Alemannia Aachen at home and Wolfsburg won 2-1 in Mainz in other games Tuesday.
© The Canadian Press, 2007