Dominick Kumbela scored the only goal of the game as Sami Hyppia's men slumped to a surprise loss, but there were wins elsewhere on Saturday for Monchengladbach and WolfsburgBayer Leverkusen lost ground on the Bundesliga's top two after a shock 1-0 defeat at bottom club Eintracht Braunschweig.
Dominick Kumbela’s 81st-minute strike proved decisive for the hosts, who had won just one of their previous 10 league fixtures.
Leverkusen's misery was compounded when fit-again Lars Bender, who signed a contract extension on Thursday, received a late red card for his second bookable offence.
Elswhere, Borussia Monchengladbach and Wolfsburg both succeeded where Leverkusen failed by winning on the road.
Max Kruse scored both goals as Monchengladbach triumphed 2-0 at Hamburg, the forward opening the scoring in the 22nd minute before finding the net again shortly after the hour mark.
Wolfsburg, meanwhile, left it late to beat Eintracht Frankfurt 2-1 for their third league victory in succession.
Anderson Bamba's second-minute own goal gave Dieter Hecking's men an early advantage, but Alexander Meier levelled prior to half-time.
With a draw appearing likely, Maximilian Arnold struck in the 82nd minute to tilt the game in Wolfsburg's favour.
Schalke leapfrogged Hertha Berlin into sixth with a 2-0 victory at the Olympiastadion. Adam Szalai's fifth goal of the season put Schalke ahead after 26 minutes and the Hungary international turned provider to set up Julian Draxler for a second deep into injury time.
In Saturday's other game, Freiburg recorded a 3-0 win at Nurnberg to climb above their fellow strugglers.
Both sides were seeking a first three-point haul of the season and a tight finish looked to be on the cards when Oliver Sorg was sent off for the visitors following Felix Klaus' 57th-minute opener.
Nurnberg failed to capitalise on their numerical advantage, however, and conceded further goals to Vladimir Darida and Admir Mehmedi in the closing stages.