Pierre-Emerick Aubameyang and Robert Lewandowski grabbed a brace each with Henrikh Mkhitaryan and Marco Reus also on target for Jurgen Klopp's men.
Hamburg fought their way back into the game, making it 2-2 with goals from Zhi Gin Lam and Heiko Westermann, before capitulating under the force of a Dortmund side who have now won their first five games of the season.
Dortmund lead the way in the standings by two points from Bayern Munich, for whom second-half goals from Mario Mandzukic and Franck Ribery secured a 2-0 win over Hannover at the Allianz Arena.
Once Mandzukic made the breakthrough in the 51st minute the victory was never in any doubt, and Ribery duly made sure when he added a second after the hour mark.
Two goals from Stefan Kiessling and a Sidney Sam strike lifted Bayer Leverkusen to a 3-1 win over Wolfsburg.
Ivica Olic's goal was a scant consolation for the Wolves, who lost Luiz Gustavo to two cautions.
Kevin-Prince Boateng scored his first goal in a Schalke shirt, and his first in the Bundesliga since 2007, to earn the Royal Blues all three points with a 1-0 win at Mainz.
Schalke's second straight win was sealed by the Ghana international's strike in only his second game since joining from AC Milan.
Werder Bremen's bright start to the season was brought to a halt with a 3-0 defeat at home to Eintracht Frankfurt.
Frankfurt dominated from start to finish against a Bremen side who spent much of the game with 10 men after Franco Di Santo saw red.
They were already behind at that point with Vaclav Kadlec scoring the first of his two goals before Aaron Hunt missed a penalty for the hosts, and an own goal from Sebastian Prodl summed up their day.
Augsburg left it late to take all three points against Freiburg and set a new club record with a third consecutive Bundesliga win.
Halil Altintop and Tobias Werner supplied the goals for Markus Weinzierl's men, who came from behind to clinch a 2-1 victory after Admir Mehmedi gave Freiburg the lead.