The hosts went ahead in the eighth minute when Juan Arango fired a brilliant shot from 30 yards that went in off the underside of the crossbar.
Ten minutes later Frankfurt could have equalised had Olivier Occean been able to slot home into an open goal from a tight angle.
The hosts had the ball inside the Frankfurt net eight minutes from half-time, but Lukas Rupp was in an offside position.
The visitors could have halved the deficit on 56 minutes had Stefan Aigner's attempt not struck the Gladbach crossbar.
Occean went close again 14 minutes from the full-time whistle but failed, as Gladbach bagged maximum points in front of their own supporters.