Leonardo Bittencourt increased the pressure on David Wagner’s Schalke and breathed life into Werder Bremen’s Bundesliga survival battle.
The midfielder’s first-half stunner earned the visitors a 1-0 win at the Veltins Arena on Saturday.
Second-bottom Bremen are two points adrift of Fortuna Dusseldorf and three behind Mainz after their second win in three games – ahead of Fortuna’s trip to Bayern Munich.
However, Schalke are in freefall under former Huddersfield boss Wagner. They are now winless in 11 games and have scored just three times in that run.
The visitors struck when Jean-Clair Todibo lost possession on the halfway line to allow Bremen to break and the ball was worked to Bittencourt, who curled an unstoppable effort into the top corner from 25 yards.
The hosts improved in the second half and peppered the Bremen goal but could not find a leveller as the visitors clinched a third successive clean sheet.
It allowed then to close the gap to Mainz, who lost 1-0 at home to Hoffenheim.
After Hoffenheim’s Steven Zuber had seen a penalty saved by Florian Muller, Ihlas Bebou grabbed the winner two minutes before half-time for the visitors, who are seventh and level on points with Wolfsburg in the race for Europe.
Their hopes were boosted as sixth-placed Wolfsburg dropped points with a 2-1 home defeat to Eintracht Frankfurt.
Andre Silva gave Frankfurt the lead after 27 minutes but Kevin Mbabu levelled 13 minutes after the restart.
Daichi Kamada struck the winner five minutes from time as Frankfurt climbed to 12th.
Elsewhere, Javairo Dilrosun’s cute finish midway through the first half set mid-table Hertha Berlin on their way to a 2-0 win over Augsburg, who remain in relegation danger.
Substitute Krzysztof Piatek wrapped up the victory for upwardly mobile Hertha in stoppage time.