Former Liverpool loan signing Nuri Sahin scored as Borussia Dortmund kept the pressure on leaders Bayern Munich by winning 3-1 at rivals Schalke.
Sahin, on loan from Real Madrid, doubled the score after Pierre-Emerick Aubameyang had given his side the lead.
Dortmund goalkeeper Roman Weidenfeller appealed to fans who threw fireworks onto the pitch before saving a Kevin-Prince Boateng penalty.
Max Meyer scored for Schalke, Jakub Błaszczykowski adding Dortmund's third.
Leaders Bayern Munich have fallen behind in their last two Bundesliga matches before coming back to score four and three goals respectively against Mainz and Hertha Berlin
remain top of the Bundesliga, one point ahead of Dortmund.
But Pep Guardiola's side were made to work hard before running out 3-2 winners against
at the Allianz Arena.
Adrian Ramos gave the visitors the lead before two goals by Mario Mandzukic and another from Mario Gotze put the hosts in control.
However, Anis Ben-Hatira's effort made it a nervy ending for Bayern.
are level on points with Dortmund after Emre Can scored in the 82nd minute to give Sami Hyypia's side a 2-1 home win over
Andre Hahn had given the visitors the lead before Simon Rolfes equalised.
Elsewhere, Roberto Firmino scored twice in
's 4-1 away win at
while Shinji Okazaki got both goals as
beat bottom club