Second-placed RB Leipzig maintained the pressure on Bundesliga leaders Bayern Munich by coming from behind to end Hoffenheim's unbeaten run in a 2-1 victory at the Red Bull Arena on Saturday.
The hosts started brightly but it was Hoffenheim who grabbed the lead in the 18th minute. Andrej Kramaric set up Nadiem Amiri after a quick counter-attack and the 20-year-old coolly slotted home to open the scoring.
Yussuf Poulsen should have levelled the scoring midway through the first half after being teed up by Timo Werner, but the Denmark international somehow fired over from just six yards out.
There was no denying Werner seven minutes before the half-time whistle, though, as the young forward netted his 11th goal of the season after good work by Naby Keita.
There was more bad news for Hoffenheim after the break when Sandro Wagner received his marching orders after a reckless challenge on Stefan Ilsanker.
And Leipzig made the most of Wagner's dismissal when Marcel Sabitzer netted the winner with seven minutes left on the clock following another assist from Keita.
Saturday's result means RB Leipzig are still trailing Bayern by three points, while Hoffenheim have dropped to fourth place in the table following their first Bundesliga defeat of the season.