En meriterande 2-0-seger mot Hamburg räddade i eftermiddag Energie Cottbus Bundesligakontrakt.
Värre är det för Duisburg och Hansa Rostock som spelar i andraligan nästa säsong.
Kampen om att undvika den sista nedflyttningsplatsen står mellan Arminia Bielefeld och Nürnberg.
Schalke-Frankfurt 1-0((0-0))
1-0 Mladen Krstajic (65).
Publik: 61 482.
Bremen-Hannover 6-1((2-0))
1-0 Hugo Almeida (14), 2-0 Naldo (27), 3-0 Tim Borowski (73), 4-0 Ivan Klasnic (80), 5-0 Markus Rosenberg (82), 6-0 Aaron Hunt (87), 6-1 Szabolcs Huszti (90).
Publik: 41 000.
Markus Rosenberg spelade hela matchen för Bremen.
Bielefeld-Dortmund 2-2((2-1))
1-0 Thorben Marx (24 str), 1-1 Delron Buckley (28), 2-1 Arthur Wichniarek (34), 2-2 självmål (83).
Publik: 25 000.
Karlsruhe-Bochum 1-3((0-1))
0-1 Mimoun Azaouagh (45), 0-2 Christoph Dabrowski (47), 0-3 Stanislav Sestak (50), 1-3 Mario Eggimann (88).
Publik: 29 000.
Cottbus-Hamburg 2-0((1-0))
1-0 Stiven Rivic (29), 2-0 Dennis Sörensen (84).
Publik: 22 746.
Hertha Berlin-Nürnberg 1-0((0-0))
1-0 Raffael (74).
Publik: 40 000.
Rostock-Leverkusen 1-2((0-1))
0-1 Simon Rolfes (40 str), 0-2 Gonzalo Castro (58 str), 1-2 Addy-Waku Menga (67).
Utv, Leverkusen: Jens Hegeler (83).
Publik: 23 000.
Duisburg-Bayern München 2-3((0-3))
0-1 Andreas Ottl (3), 0-2 Lukas Podolski (18), 0-3 Lukas Podolski (20), 1-3 Mihai Tararache (48), 2-3 Markus Daun (54).
Publik: 31 500.
Wolfsburg-Stuttgart 4-0((2-0))
1-0 Marcelinho (16), 2-0 Edin Dzeko (22), 3-0 Ricardo Costa (55), 4-0 Ashkan Dejagah (75).
Utv, Stuttgart: Fernando Meira (18).
Publik: 26 000.