Captain Marco Reus put new coach Marco Rose's team in the driving seat in the 23rd minute, scoring from a Haaland assist, with Dortmund fans returning in limited numbers to the 81,000-capacity stadia.
A Felix Passlack own goal four minutes later did nothing to slow them down as Thorgan Hazard rifled them back into the lead in the 32nd after Reus combined with the 21-year-old Haaland, who had scored a hat-trick in their German Cup first-round win last week, for yet another counter-attack.
The hosts face champions Bayern Munich in the German Super Cup on Tuesday. Dortmund completed their first-half goal rush, with Haaland pouncing on a Stefan Ilsanker mistake to charge into the box and slot in for a two-goal lead in the 34th.
Gio Reyna added a fourth goal with a tap-in on the hour with Eintracht at the complete mercy of the bursting Dortmund runs that kept on coming. Another Haaland run earned him his second goal of the evening following a VAR review.
Fellow Norwegian Jens Petter Hauge scored late on his Bundesliga debut to somewhat improve the scoreline for Frankfurt. Bayern slipped up on their season opener on Friday with a 1-1 draw at Borussia Moenchengladbach.