A goal from Franck Ribery and a penalty by Austria international David Alaba put the Bavarians on 30 points. Schalke are second after beating Werder Bremen 2-1 while Eintracht, without a win in three games, occupy third spot on 20.
Champions Borussia Dortmund eased past bottom club Augsburg 3-1, Robert Lewandowski netting twice to lift them to fourth on 19 points.
Eintracht weathered an early storm as Bayern pushed forward in numbers, buoyed by their 6-1 midweek demolition of Lille in the Champions League.
It was an unusual duel between Frankfurt, who recorded the best start for a promoted team, and Bayern, who have set a Bundesliga record for the best start in the competition's 50 years.
Frenchman Ribery, in dazzling form, missed a good chance early on when keeper Kevin Trapp got a foot to his low shot from seven metres.
Trapp twice more denied the winger before Eintracht started to cause the Bayern defence a few problems.
The visitors, however, could do nothing a minute before the break when Javi Martinez found Ribery, who scored with an easy tap-in.
Bayern did lack the explosive pace they possessed against Lille but were hardly threatened in the second half, and Alaba converted a 77th minute penalty to secure victory.
Schalke needed an hour to come into the game against Bremen, who took a 14th minute lead with captain Aaron Hunt scoring from a tight ankle.
They could have added another but Sokratis Papastathopoulos headed against the bar before Roman Neustaedter, fresh from his first Germany callup on Friday, levelled in the 59th minute.
Bremen, hit by widespread speculation that sports director Klaus Allofs could be joining Wolfsburg, conceded another in the 69th with Julian Draxler firing in a Jermaine Jones cross to end the visitors' three-game unbeaten run.
Hamburg were a man down for almost an hour but earned a point in their goalless draw at Freiburg. Paul Scharner had been sent off for a second booking in the 35th.
Fortuna Dusseldorf and Hoffenheim shared the points in a 1-1 draw.