Dortmund moves up to second place
|Friday, November 23|
|Saturday, November 24|
|Sunday, November 25|
|More: Scores | Stats | Bundesliga|
The champions' coach Jurgen Klopp was facing his former club, who went in front after only four minutes through Marco Caligiuri.
Marco Reus replied in the 11th minute, though, and Robert Lewandowski got the winner two minutes before the break.
The Royal Blues had to settle for a 1-1 draw, after Klaas Jan Huntelaar's 11th-minute opener was cancelled out two minutes later by Stefan Aigner.
Frankfurt had Karim Matmour sent off in the 87th minute.
The visitors went in front after 35 minutes through Marko Arnautovic, but had Lukas Schmitz sent off in the 62nd minute and conceded an equaliser to Bas Dost two minutes later.
Both sides had a man sent off, the visitors losing Markus Feulner after 35 minutes and Greuther Sercan Sararer after 61.
Hamburg had two goals disallowed and they also lost influential midfielder Rafael van der Vaart to injury, but they could have no complaints about losing with the home side showing more fight.
Kruse put the promoted side in front in first-half stoppage-time before Reisinger struck in the 63rd minute to seal the points.