Match ends, TSG 1899 Hoffenheim 2, Borussia Dortmund 1.
Hoffenheim came from behind to beat Borussia Dortmund in the Bundesliga as England's Jadon Sancho failed to score for the first time in eight games.
Mario Gotze scored the opening goal for Dortmund, squeezing a shot over the line from Achraf Hakimi's pull-back.
Dortmund should have sealed the game but substitute Sargis Adamyan equalised after Jurgen Locadia's shot was saved.
Andrej Kramaric headed a late winner from Adamyan's cross, confirmed after a long video assistant referee delay.
Dortmund forward Sancho, 19, missed out on the chance to break the record for Bundesliga goals scored in a calendar year by a teenager.
His haul of 15 is level with Horst Koppel for Stuttgart in 1967 and Olaf Thon for Schalke in 1985.
Victory took Hoffenheim up to sixth in the table, three points behind Dortmund.
- 18SamassékouSubstituted forAdamyanat 45'minutes
- 8GeigerSubstituted forLocadiaat 65'minutes
- 14BaumgartnerSubstituted forKaderábekat 78'minutes
- 31Ribeiro dos Santos
- 16AkanjiBooked at 25mins
- 15HummelsSubstituted forPiszczekat 45'minutes
- 23T HazardSubstituted forBruun Larsenat 45'minutes
- 10GötzeSubstituted forAlcácerat 85'minutes
- 34Bruun Larsen
- Felix Zwayer
- Shots on Target
Second Half ends, TSG 1899 Hoffenheim 2, Borussia Dortmund 1.
Corner, Borussia Dortmund. Conceded by Robert Skov.
Attempt missed. Ihlas Bebou (TSG 1899 Hoffenheim) right footed shot from the right side of the box is too high. Assisted by Oliver Baumann.
Attempt saved. Paco Alcácer (Borussia Dortmund) header from the centre of the box is saved in the centre of the goal. Assisted by Julian Brandt.
Jacob Bruun Larsen (Borussia Dortmund) wins a free kick in the defensive half.
Foul by Pavel Kaderábek (TSG 1899 Hoffenheim).
Goal! TSG 1899 Hoffenheim 2, Borussia Dortmund 1. Andrej Kramaric (TSG 1899 Hoffenheim) header from the centre of the box to the bottom right corner. Assisted by Sargis Adamyan with a cross.
Attempt missed. Nico Schulz (Borussia Dortmund) right footed shot from the left side of the box is close, but misses to the right. Assisted by Lukasz Piszczek.
Substitution, Borussia Dortmund. Paco Alcácer replaces Mario Götze.
Offside, TSG 1899 Hoffenheim. Jürgen Locadia tries a through ball, but Andrej Kramaric is caught offside.
Corner, Borussia Dortmund. Conceded by Pavel Kaderábek.
Goal! TSG 1899 Hoffenheim 1, Borussia Dortmund 1. Sargis Adamyan (TSG 1899 Hoffenheim) right footed shot from the centre of the box to the centre of the goal.
Attempt saved. Jürgen Locadia (TSG 1899 Hoffenheim) right footed shot from very close range is saved in the centre of the goal.
Substitution, TSG 1899 Hoffenheim. Pavel Kaderábek replaces Christoph Baumgartner.
Offside, TSG 1899 Hoffenheim. Florian Grillitsch tries a through ball, but Christoph Baumgartner is caught offside.
Attempt blocked. Sargis Adamyan (TSG 1899 Hoffenheim) right footed shot from outside the box is blocked. Assisted by Ihlas Bebou with a cross.
Offside, TSG 1899 Hoffenheim. Robert Skov tries a through ball, but Jürgen Locadia is caught offside.
Corner, Borussia Dortmund. Conceded by Benjamin Hübner.
Substitution, TSG 1899 Hoffenheim. Jürgen Locadia replaces Dennis Geiger.