Bayern Munich maintained their lead at the top of the Bundesliga with a hard-fought 2-1 win over Werder Bremen.
First-half goals from Arjen Robben and David Alaba proved to be enough for Carlo Ancelotti's side to claim their seventh league win on the bounce, despite Max Kruse's goal eight minutes into the second period.
With nearest challengers Leipzig also victorious, the reigning champions stayed three points clear at the summit.
Ancelotti's men were immediately on the front foot, with Robben posing a threat down the right before Franck Ribery went on a mazy run, only to see his fierce shot from outside the area well saved by Felix Wiedwald low down.
Alaba had a good opening in the eighth minute but fired wide from the edge of the area before the game petered out.
Serge Gnabry burst into life shortly before the half-hour mark, smashing a volley straight at Manuel Neuer in the Bayern goal, while Ulisses Garcia could not latch onto a cross from Zlatko Junuzovic.
The deadlock was finally broken by Robben with 15 minutes of the first period to go, following fine work down the left by Ribery.
The French winger dribbled inside two players before cutting the ball back across the area, where Robben found space inside his marker to meet the ball sweetly and send it into the top corner.
Robert Lewandowski could have added a second shortly after, but the visitors did not have to wait long before doubling the lead as Alaba curled home a beautiful free-kick into the top corner from a tight angle, leaving the goalkeeper helpless in first-half stoppage time.
Robben almost added a third shortly after the break, but saw his shot blocked before Gnabry again showed his threat with the ball at his feet.
The former Arsenal winger beat a couple of defenders before firing in a low shot, but fortunately for Neuer it was straight at him and he was able to keep it out.
Ribery had a goal correctly ruled out for offside, before Gnabry was again wasteful in front of goal, firing wide when well placed inside the area.
However, Bremen pulled one back through Kruse, who was played through by Junuzovic and manipulated the ball cleverly before a smart finish across the onrushing Neuer.
Gnabry continued to pose a threat to the Bayern back line, but his poor finishing cost the hosts.
Wiedwald was called into action late on to save well from Kimmich, whose header looked to be goal-bound before the referee called time on a tough win for Bayern.