Striker Kevin Grosskreutz, 22, gave Dortmund the lead after 17 minutes.
Rouwen Hennings equalized for the hosts nine minutes later but in-form Japanese midfielder Shinji Kagawa restored their advantage on 50 minutes.
Grosskreutz netted his second of the night one minute past the hour mark to hand Dortmund their fifth victory in six matches.
Dortmund missed Egyptian striker Zidan, who should recover from his knee injury next month.
They lie second in the table with 15 points after making their best ever league start.
Surprise package Mainz top the league on 16 points after claiming a 2-1 victory at defending champions Bayern Munich.
Sami Allagui stunned the home crowd on the quarter-hour mark but an own goal by Mainz's Danish defender Bo Svensson brought Bayern level on the stroke of halftime.
Adam Szalai struck with 13 minutes remaining to maintain Mainz's 100% record.
"It will take time for this to sink in. I always thought we could win here even after we conceded that goal before half-time. I am really proud of this team," Mainz coach Thomas Tuchel said.
St Pauli 1-3 Borussia Dortmund