Dortmund restore 11-point lead
Bayer Leverkusen, second on 39 points, had briefly cut the gap to eight on Friday but goals from Lucas Barrios and Nuri Sahin either end of the first half and another from Mats Hummels made sure Dortmund kept up their title run with their 16th win in 20 games.
Bayern Munich came from a goal down to edge past Werder Bremen 3-1 in the north-south derby to move into third place on 36 for the first time this season.
Mainz 05 beat Kaiserslautern 1-0 thanks to a Lewis Holtby volley for their first win after two defeats this year that lifted them to fourth, also on 36.
Schalke 04 suffered a surprise 1-0 home defeat to Hoffenheim, who celebrated their first win under new coach Marco Pezzaiuoli, while Hamburg slumped to a 2-0 defeat at Nuremberg to drop to seventh on 30 points.
Leaders Dortmund did not need long to establish who was boss on the pitch with Paraguay international Barrios tapping in a Mario Goetze cross in the second minute.
With Japanese offensive midfielder Shinji Kagawa out for the rest of the season with a broken foot, Goetze slipped into his role with ease, dictating the visitors' attack.
Dortmund had more than 60 percent possession for much of the first half, determined to improve their spectacular away record this season.
Jurgen Klopp's team went 2-0 up just before the break with Wolfsburg clearly lacking ideas and being far too static. Goetze crossed again into the box and Sahin benefited from some confusion to score.
Hummels dashed any Wolfsburg hopes in the 71st minute, tapping in from close range.
"I am satisfied with the way we played today," said Klopp. "The team never let up at any moment and they were rewarded for their work."
In Bremen, the hosts struck two minutes after the restart, taking a deserved lead when Per Mertesacker was left unmarked at the edge of the Bayern box to slot home.
Dutchman Arjen Robben sneaked in to level with his second goal in two games, Mertesacker fired into his own net and substitute Miroslav Klose, a former Bremen striker, sealed Bayern's win four minutes from time.
"After being 1-0 down we played very aggressively. Maybe that is what we need to get going," Robben told reporters. "After that we played well and deserved to win."
Bremen's misery was complete when keeper Tim Wiese was sent off in the 88th minute for a rough challenge on Thomas Muller.