Borussia Dortmund's roller-coaster season has juddered to yet another home defeat, with Hoffenheim's Maximilian Beier scoring twice in quick succession in a wild 3-2 triumph for his side.
Subscribe now for unlimited access.
or signup to continue reading
Dortmund have now lost three home games in the Bundesliga this term, compared to only one away defeat.
Hoffenheim edged up to seventh with Europe on their minds thanks to a sixth away victory this season - but their first of any kind this year.
"It is bitter and a hard lesson today," under-pressure Dortmund coach Eden Terzic said.
"With individual errors we gave our opponents belief again."
Missing out on the title on the final day last season is a distant memory to Dortmund fans but they remain in the fourth and final Champions League spot by a point - mainly due to the inconsistency of others.
Fifth-placed RB Leipzig lost 2-1 late on at Bayern Munich on Saturday, while in Sunday's early game Eintracht Frankfurt (sixth) failed to make much headway with a last-gasp 2-2 draw at home to Wolfsburg.
Fans threw tennis balls and other objects onto the pitch in Frankfurt at the start of the second half despite the German Football League (DFL) abandoning unpopular plans to recruit an external investor last week.
Supporter protests against the proposals had been going on for weeks but given the DFL's climb-down, Saturday's matches were largely played without incident.
Despite a stoppage-time leveller from Omar Marmoush, it is now four league games in a row without a win for Frankfurt, who are seven points off Dortmund with only 11 games left.
"Of course we wanted to play a bit better football, which wasn't easy today, and we want to win games," Frankfurt boss Dino Toppmoller said.
"But we are coming out of a difficult phase. The reaction after the nightmare start was good, we deserved to equalise."
In Dortmund, Hoffenheim seized an early lead thanks to Ihlas Bebou but Donyell Malen and Nico Schlotterbeck had the hosts ahead midway through the first half.
As so often this season though, Dortmund lost their way and German under-21 international Beier scored on 61 and 64 minutes.
Freiburg, who reached the Europa League last 16 on Thursday, are ninth after losing 2-1 at an Augsburg side who roared up to 11th from fourth-bottom.
Freiburg's Vincenzo Grifo won and converted a penalty but Felix Uduokhai and Arne Engels turned the game around.
Australian Associated Press