Bayern Munich moved to the top of the Bundesliga by edging a five-goal thriller at Werder Bremen to secure their sixth successive win.
Aaron Hunt put Bremen ahead in the 10th minute, but Bayern responded with goals from Thomas Muller and Ivica Olic to deservedly lead at the break. The Bavarians missed chance after chance and were punished when Hugo Almeida levelled in the 75th minute, but Arjen Robben sealed three points for the visitors three minutes later.
Schalke passed up the chance to move top as they conceded two goals in the final eight minutes, including a stoppage-time equaliser, at local rivals Bochum.
Vicente Sanchez gave Schalke the lead after just five minutes and Kevin Kuranyi made it 2-0 in the 42nd minute. But Vahid Hashemian pulled a goal back for Bochum in the 82nd minute - the first goal Felix Magath's side had leaked in five games - and Stanislav Sestak shocked the visitors with the leveller two minutes into added time.
A 36th-minute goal from Nelson Valdez was enough to take Borussia Dortmund above opponents Hamburg and into fourth place.
The Paraguay striker decided an evenly contested game 10 minutes before the break to lift the Westphalians to within two points of local rivals Schalke, the last team to beat them back in September.
Keeper Jaroslav Drobny saved a penalty late in the first half as Bundesliga basement club Hertha Berlin secured a point from a hard-fought encounter against Borussia Monchengladbach.
Berlin have still not won at home in eight games but improved to 10 points - eight adrift of safety. Gladbach ended a two-game losing streak to move to 22 points, good enough for 12th place.
Nurnberg halted a run of five-successive Bundesliga defeats with a point at home to European qualification hopefuls Eintracht Frankfurt.
Christian Eigler fired the home side in front midway through the first half, only for Benjamin Kohler to bring Eintracht back on level terms before the interval.
Andre Schuerrle's early goal proved enough as hosts Mainz snapped a six-game winless streak and spoiled Mirko Slomka's coaching debut for opponents Hannover.
Schuerrle scored the only gola of the contest after just four minutes for Thomas Tuchel's side, which continued their strong showing at home.