Dortmund fell behind after 33 minutes when Marco Reus struck for Gladbach, but Neven Subotic equalized in first half stoppage time and Shinji Kawaga then gave Dortmund the lead in the 52nd minute.
Gladbach briefly pressed to get back on terms but Kevin Grosskreutz ended all doubt as to the outcome by netting in the 77th minute and Lucas Barrios got his name on the scoresheet with the fourth in the 88th minute.
The victory was Dortmund's fifth in a row and Jürgen Klopp's team has collected 12 wins in their 13-game undefeated streak for 37 points. "It's more relief than anything else. Gladbach were strong and disciplined," said Klopp afterwards.
"We wanted to make it too pretty in the first half and we got caught with the goal. But we were more level-headed in the second half and scored the goals in the second half and deserved the win," added Dortmund keeper Roman Weidenfeller.
Mainz had Friday pulled briefly to within four points of Dortmund with a convincing 3-0 victory at home over Nuremberg to consolidate second place. Bayern Munich meanwhile are back in contention after they cruised to a 4-1 victory at home to Eintracht Frankfurt on Saturday, leaping into the top five as they target a strong finish to the first half of the season after a poor start.
During the week, Bayern's bosses had demanded a minumum 10 points from the final four matches before the winter break, and Louis van Gaal's men gained the first three in extending their undefeated streak to seven matches.
The reigning Bundesliga champions moved onto 23 points - five points from the Champions League qualification spot of third place and 11 points behind Dortmund.
Anatoliy Tymoshchuk's goal in the 29th minute for Bayern was swiftly cancelled out by Theofanis Gekas.
But Thomas Müller scored in the 59th minute and Mario Gomez made it 3-1 two minutes later before Tymoshchuk doubled his goal tally in the 88th minute. Gomez said Bayern had to ensure their recent good form continues.
"We know that we are way behind and are not the favourites and that we need the points," the striker said. "We cannot watch what Dortmund or Mainz or Hannover or Leverkusen are doing but just worry about getting our points and hope that we can be in a good spot over Christmas."
Third-placed Bayer Leverkusen lost ground on Mainz, whom they trail by four points after a 2-2 draw at Hoffenheim, who equalized four minutes into stoppage time with a penalty by Gylfi Thor Sigurdsson.
Hannover are fourth with 25 points after a 3-0 victory at home over Freiburg with Jan Schlaudraff, Didier Ya Konen and Mike Hanke on target. Hamburg are seventh, one point behind Hoffenheim, after a 4-2 victory at home over 10-man Stuttgart.
At the wrong end of the table, Schalke's struggles continued with a 5-0 loss at Kaiserslautern with Srdjan Lakic scoring two goals. Schalke remained on 13 points for 15th place after their worst loss in 18 years while Kaiserslautern jumped to 17 points for 11th place.
Schalke coach Felix Magath said: "I apologize to the fans after they made a long trip to come and see us and supported us for 90 minutes but left the stadium disappointed."
Story continues below…
Skipper Manuel Neuer added: "I can't really explain what happened. We cannot look for excuses. We are responsible for what happened. That was a catastrophe."
Despite their wretched league form Schalke reached the last 16 of the Champions League after their 3-0 win Wednesday over Lyon.
On Sunday, disappointing sides Werder Bremen and Wolfsburg, both on 15 points, will seek to move up the table with matches against St. Pauli and at Cologne.