Leipzig's Yussuf Poulsen (left) and Bremen's Langkamp vie for the ball. (AFP)
Berlin - The hosts made hard work winning the three points
RB Leipzig substitute Bruma helped fire his team back into the Bundesliga title race on Saturday with a dramatic late winner to clinch a 3-2 home victory over Werder Bremen.
After losing 1-0 at Bayern Munich on Wednesday, fourth-placed Leipzig are now just two points behind Borussia Moenchengladbach, who sit second, after snatching the winner three minutes from time at Leipzig's Red Bull Arena.
However, the hosts made hard work winning the three points, throwing away a two-goal lead after Lukas Klostermann and Timo Werner put them 2-0 up at the break.
Klostermann thundered his goal in off the underside of the crossbar before Werner showed lightning reactions to poach their second a minute before half-time after a disastrous back pass by Bremen captain Max Kruse.
However, Kruse made up for his earlier error with his fourth goal of the season by blasting home on 67 minutes.
The American teenage international Josh Sargent then finished off a counter attack to equalise 13 minutes from time in a tense finale.
Leipzig were not finished however and three minutes from time, Bruma coolly fired the winning goal between the legs of Bremen's goalkeeper before the 24-year-old was booked for his shirtless celebration. Later on Saturday, reigning champions Bayern can climb one place to second if head coach Niko Kovac leads his side to a victory at his ex-club Eintracht Frankfurt.
Schalke, who face Manchester City in the last 16 of the Champions League, are 13th after their first league win in five games with a 3-1 victory at Stuttgart.
Midfielder Steven Skrzybski gave Schalke the lead after just ten minutes by slotting home from 10 metres out.
Stuttgart striker Nicolas Gonzalez hit the post just after the break, but Germany striker Mario Gomez gave away his team's second goal when the ball went in off his shoulder after a shot by Schalke's Salif Sane with 20 minutes left.
Gonzalez's header made it 2-1, but Schalke substitute Ahmed Kutucu made sure of the win by shooting through the legs of Stuttgart goalkeeper Ron-Robert Zieler 12 minutes from time to guarantee the win for the Royal Blues.
Fortuna Duesseldorf built on Tuesday's shock 2-1 win over leaders Borussia Dortmund with a 1-0 victory on the road at Hanover 96 with substitute Oliver Fink scoring their 92nd minute-winner to secure a third straight three points to lift them up to 14th.
Bayer Leverkusen are ninth after teenager Kai Havertz scored twice in their 3-1 home win over Hertha Berlin which left both teams on 24 points.
Bottom side Nuremberg are winless since late September after losing 1-0 at home to Freiburg, who took the three points thanks to a first-half header from defender Manuel Gulde.
On Friday, Germany winger Marco Reus scored his 11th goal of the season as leaders Dortmund ran out 2-1 winners at home to Moenchengladbach to stay nine points clear at the top.