Juan Arango gave the hosts the lead after 11 minutes but Stefan Aigner equalised for Frankfurt soon after.
Oscar Wendt then fired Gladbach back in front before Patrick Herrmann made it 3-1 on the hour mark, with Raffael rounding off the scoring.
Freiburg goalkeeper Oliver Baumann had a day to forget as his side lost 3-0 at home to Hamburg.
Skipper Baumann made three costly mistakes to gift Hamburg a victory which left Freiburg still waiting for their first win of the season.
Maximilian Beister and Pierre-Michel Lasogga were the first beneficiaries of his blunders before a milder error enabled Rafael van der Vaart to seal victory for Hamburg, who pulled away from the relegation zone with a second away win of the season.