BERLIN — A weakened Bayern Munich came from behind to beat Werder Bremen 2-1 and delay Borussia Dortmund's Bundesliga celebrations on Saturday.
Bayern substitute Franck Ribery struck the winning goal in the 90th minute, 15 minutes after forcing Naldo into scoring an own goal. The Bremen defender had given the home side the lead in the 51st.
Dortmund could still claim its second consecutive title with a win at home against Borussia Moenchengladbach later Saturday.
Kaiserslautern was relegated despite a 2-1 win at Hertha Berlin, which is almost certain to be demoted too, while Bayer Leverkusen won 1-0 at Hoffenheim, and there were 1-1 draws between Nuremberg and Hamburger SV, and between Cologne and Stuttgart.
Two rounds remain after this weekend.
Bayern's focus was clearly on next Wednesday's Champions League semifinal second leg at Real Madrid, with Jupp Heynckes making eight changes to the side which beat the Spanish league leader 2-1 in Tuesday's first leg.
"It was an important win for the morale," Heynckes said. "We're very confident and optimistic going to Madrid because we're always in a position to score a goal."
Bayern striker Nils Petersen made a rare start and struck the post with the visitors' best chance before the break.
Naldo scored shortly after it, from close range after a Werder corner.
Heynckes brought Ribery on and the Frenchman's cross for the lurking Mario Gomez, another substitute, was turned beyond Tim Wiese by the unfortunate Naldo.
The fired-up Ribery served notice with a shot that whizzed by the post, and then saw off a Bremen defender before firing a fine strike inside the far post.
Kaiserslautern ended its club record run of 21 games without a win on the day it was relegated for the third time.
"I'm happy on one hand but naturally very sad on the other," said Kaiserslautern coach Krasimir Balakov, whose previous five games after taking over ended in defeat.
Oliver Kirch put the visitors ahead in the 27th, and American striker Andrew Wooten marked his first start by making it 2-0 in the 38th — the first time this season that Kaiserslautern had scored more than one goal in the first half.
Peter Niemeyer pulled one back on the hour with a header from a corner, and Thomas Kraft kept the home side in it with a fine save from Olcay Sahan in the 76th, but Niemeyer was sent off after his second yellow card a minute later.
Hertha slipped two points behind Cologne in the relegation playoff place.
"I've never experienced anything as dramatic as with Hertha," Berlin coach Otto Rehhagel said.
Slawomir Peszko scored for Cologne with an easy finish from Lukas Podolski's cross in the 50th, but Stuttgart striker Cacau equalized after a fine pass from Vedad Ibisevic in the 71st.
Andre Schuerrle's fantastic strike in the 79th was enough for Leverkusen, which had goalkeeper Bernd Leno to thank for a penalty save from Hoffenheim's Sejad Salihovic late on.
In Nuremberg, Son Heung-Min gave Hamburg the lead in the 59th, but Daniel Didavi equalized with his eighth goal of the season six minutes later.
"Short and sweet: Not a good game, fair draw, nice weekend," Nuremberg coach Dieter Hecking said.