The outcome leaves Wolfsburg 10th in the Bundesliga on 20 points, one place and one point below a Dortmund outfit that had won 6-1 against Arminia Bielefeld last week.
Wolfsburg were quick out of the blocks and immediately on the attack, pushing Dortmund back.
The first goal arrived in the eighth minute after a defensive mistake from Dortmund's Christian Worns.
Schafer pounced and from 15 yards hit a left-footed shot that beat the goalkeeper.
Just three minutes later and Ricardo Costa doubled the advantage.
He started the move by winning the ball in midfield and then played a one-two with Dzeko, who crossed for Costa to put it in from close range.
The rest of the second half consisted of few clear-cut chances.
Dortmund controlled the game but were not dangerous when close to the Wolfsburg box as the hosts easily dealt with their long ball tactics.
The visitors came out with a change of personnel that should have seen them attack more, however, Wolfsburg were more offensive and had a strong opening 15 minutes.
Dortmund did have their opportunity during that stretch, however.
In the 54th minute, a 22-yard shot shot by Delron Buckley was spilled by the home goalkeeper but Nelson Valdez hit the rebound over the bar.
Shortly before the hour mark, Wolfsburg scored a third.
The excellent Schafer crossed a ball which the Dortmund defence and goalkeeper missed and Gentner arrived at the back post to head it in.
The third goal put paid to Dortmund's hopes of a fightback, and in the 78th minute Wolfsburg made it 4-0 with the best goal of the game.
The ball was played through the static Dortmund defence for Dzeko to run onto.
He finished neatly, chipping it over the on-rushing goalkeeper from 15 yards.