Bayer Leverkusen moved up to second in the Bundesliga thanks to a 3-1 win over Borussia Monchengladbach.
• Saturday round-up
Two goals from Gonzalo Castro and one from Michal Kadlec earned Jupp Heynckes' side all three points as they beat the Foals at the third attempt having lost in the league and the cup to Michael Frontzeck's side already this season.
Martin Stranzl gave the home side some hope with his first goal for the club in the 65th minute, eight minutes before Castro sealed the win.
Michael Ballack also made his return for Leverkusen, coming on as a second-half substitute.
St Pauli dropped two valuable points in their fight against relegation as they conceded a 90th-minute equaliser in a 2-2 draw with Hoffenheim.
The visitors looked to be heading for victory after scoring twice in the second half through Max Kruse and Gerald Asamoah following Marvin Compper's first-half opener for Hoffenheim.
However, David Alaba's deflected strike snatched a draw for the hosts to leave St Pauli third bottom of the Bundesliga table.