Hamburg - Miroslav Klose and Franck Ribery scored in each half as Bayern Munich ended a series of three league matches without a win by beating VfL Wolfsburg 2-1 to stay top of the Bundesliga. Meanwhile Werder Bremen stayed within a point of Bayern thanks to a 2-0 win at bottom club Energie Cottbus to extend their unbeaten run in the league to nine games, including seven wins.
Bremen were further boosted by the return of striker Ivan Klasnic who played for just over an hour in his first game since a kidney transplant eight months ago which had threatened to end his career.
Bayern moved to 31 points from 14 matches, with Bremen on 30. SV Hamburg could draw level with Bremen if they beat visiting Hansa Rostock on Sunday.
Bayern, who were beaten by VfB Stuttgart in their last league match and had been held to goalless draws by Eintracht Frankfurt and Borussia Dortmund, bounced back against visiting Wolfsburg.
It was the first return to Munich for Wolfsburg boss Felix Magath since being sacked as Bayern coach at the end of January.
But Bayern seemed intent on dismissing any talk of a crisis in a strong opening spell in the Allianz Arena, with Klose slotting home in the 35th minute for his ninth goal of the season.
Ribery set up the goal after robbing Peter van der Heyden before cutting the ball back into the centre of the area for Klose.
The France international, who had passed a late fitness test, was then on target himself in the 50th minute after he completed a move he began in his own half.
Wolfsburg fought back when Ashkan Dejagah rifled past Oliver Kahn in goal in the 71st minute but Bayern held on for the win.
"We played better especially in the first half and showed a lot of passion," said Kahn.
Magath meanwhile said his side was "not stable" enough" to recover from mistakes against a side like Bayern, but was pleased with his reception at his old club.
"I was well received. Apart from the result it was a nice day," he said.
At Cottbus, German-born Croatian striker Klasnic lasted 64 minutes for Bremen in his first match for 11 months, long enough to see Brazilian Diego firmly convert a 63rd-minute penalty after Markus Rosenberg had been grappled in the area.
Bremen made sure of the points when Colombian striker John Jairo Mosquero struck his first goal for Bremen in the 83rd, six minutes after replacing Rosenberg as a substitute.
Klasnic, who wore a plastic belt around his midriff to protect his kidney, said it was "simply nice" to be back in the side.
"I didn't feel anything and felt good," he said.
Champions VfB Stuttgart came from behind to defeat Eintracht Frankfurt 4-1 for a fourth successive league win to move seventh.
The home side took a 41st-minute lead through Benjamin Koehler, but Stuttgart hit back through Roberto Hilbert, Ciprian Marica, Thomas Hitzlsperger and Cacau in stoppage time.
Kevin Kuryani celebrated a return from injury with two goals for Schalke 04 in a 3-2 victory at Hanover for whom Hungarian Szabolcs Huszti scored both, the first from the penalty spot.
Substitute Halil Altintop hit the winner for Schalke in the 62nd minute to end a series of five league games without a win.
Fifth-placed Bayer Leverkusen came from a goal down at half-time to defeat struggling MSV Duisburg 4-1 with goals from Sergej Barbarez, Simon Rolfes, Paul Freier (penalty) and Theofanis Gekas.
Polish striker Marcin Mieciel struck twice in three minutes in the 12th and 15th minutes as Bochum swept to a 3-0 win over Arminia Bielefeld, Christoph Dabrowski adding the third in the 55th.
On Friday evening, Karlsruhe defeated Hertha Berlin 2-1 to stay fourth. Nuremberg host Borussia Dortmund in Sunday's other match.