The hosts could have grabbed an immediate equaliser after the restart but Dortmund skipper Sebastian Kehl managed to divert Ken Ilso’s effort away from the bottom corner.
Dusseldorf started to control proceedings, and almost grabbed an equaliser after mistakes at the back from both Santana and Mats Hummels meant Langerak had to rush from his line to prevent Axel Bellinghausen.
However, a double change from Jurgen Klopp saw Polish duo Lewandowski and Blaszczykowski enter the fray, with the latter making an immediate impact.
Sahin slipped the ball to Blaszczykowski from the top of the box and the midfielder slotted home, despite being marginally offside.
Dusseldorf then had a clear penalty waved away by the referee after Stefan Resisinger’s ball struck the arm of Hummels inside the box.
Geifer prevented Dortmund’s Schieber from sealing a third down the other end of the pitch, as he emerged from his line to make a full-stretch save.
The German keeper then made two more stops as he parried a cross from Blaszczykowski before blocking Reus on the follow up.
Dusseldorf could have pulled one back with six minutes remaining but Reisinger planted his header straight at the goalkeeper after Hummels failed to intercept the cross.
But the hosts eventually found the net after Dortmund failed to deal with Andreas Lambertz’s free-kick into the box and Bodzek headed home.
Dortmund’s Langerak was then forced to make a fantastic save to prevent the home side from grabbing an injury-time equaliser.
Martin Latka’s header was heading straight for the bottom corner but the keeper managed to get down and claw the ball off the line to extend Dortmund’s unbeaten run in all competitions to nine games.