Marco Russ settled the contest with a firm header on the hour mark but Frankfurt were indebted to goalkeeper Kevin Trapp for preserving their advantage until the final whistle.
Joselu missed a penalty that would have made it 2-0 deep in stoppage time but Frankfurt held on to move three points clear of the relegation zone after ending a miserable 10-game winless sequence.
The second-placed hosts were curiously off-colour at the BayArena and deserved little else other than a defeat, which leaves them seven points adrift of unbeaten leaders Bayern Munich, who eased to a 3-1 win over Hamburg on Saturday.
In the day's only other game, Schalke moved up to sixth thanks to a 2-0 win over a Freiburg side who remain third from bottom.
An unfortunate Nicolas Hofler own goal gave the hosts the lead before a Jefferson Farfan penalty made sure of victory for the Royal Blues.