Borussia Dortmund let a three-goal lead slip inside 15 second-half minutes as Hoffenheim claimed a 3-3 draw that could put a dent in the hosts' Bundesliga title charge.
Lucien Favre's men are winless in three matches in all competitions and the manner of their collapse in the closing stages against a physical Hoffenheim side will worry the head coach, who missed the match with a bout of flu.
Jadon Sancho scored his first goal of 2019 and his seventh of the season as the home side dominated the first half and he was instrumental when Mario Gotze struck.
A wonderful moment of skill from Sancho led to Raphael Guerreiro scoring Dortmund's third before Hoffenheim's comeback, which featured goals from substitute Ishak Belfodil and Pavel Kaderabek.
Dortmund failed to deal with Belfodil's imposing presence and he scored either side of Kaderabek's towering header to earn Julian Nagelsman's side a draw, opening the door for Bayern Munich to cut the gap to BVB to five points when they face Schalke later on Saturday.
Dortmund thought they were ahead when Stefan Posch's clearance went in off Sancho, only for the referee to rule it out after consulting VAR.
Sancho did give Dortmund the lead in the 32nd minute, the teenager collecting a pass into the box from Lukasz Piszczek before finishing with a low, angled shot beyond goalkeeper Oliver Baumann.
Gotze doubled the hosts' advantage two minutes before half-time, pouncing on the rebound from a Sancho shot and guiding the ball into the unguarded net with Baumann stranded.
The third goal was the pick of the bunch, Gotze breaking down the right and exchanging passes with Sancho, whose sublime backheel paved the way for Guerreiro to sweep the ball home.
But Hoffenheim never allowed their heads to drop and Roman Burki made a brilliant fingertip save to deny Kaderabek's header, before Abdou Diallo failed to clear his lines and Belfodil bundled home after 75 minutes.
Kaderabek rose at the far post to loop a superb header over Burki and into the net eight minutes later, and the comeback was soon completed.
Belfodil beat a crowd of defenders to connect with Dennis Geiger's cross and head in an 87th-minute goal that saw Dortmund fail to capitalise on Borussia Monchengladbach's 3-0 loss at home to Hertha Berlin.