Mandzukic scored in the 13th minute with a fine volley from Thomas Mueller’s cross.
The home side was left to rue a disallowed goal from Alexander Meier before the break, with TV replays showing offside was the wrong call, though the Frankfurt midfielder may have touched the ball with his hand as he headed in Johannes Flum’s goalward effort.
Hoffenheim routed Hamburger SV 5-1 in Hamburg, Wolfsburg beat Schalke 4-0, Leverkusen won 1-0 at Stuttgart, Werder Bremen beat Augsburg 1-0, and Mainz won 2-1 at Freiburg.
Borussia Moenchengladbach was to host Hannover later Saturday.
While Bayern equaled its club record of 27 consecutive Bundesliga games without defeat set in 1989, Pep Guardiola’s side was fortunate to emerge with the win.
Bastian Schweinsteiger did have the chance to seal it in the 89th, but was denied by Frankfurt goalkeeper Kevin Trapp.
Then Srdjan Lakic rounded Manuel Neuer at the other end, only for Dante to clear off the line.
Meier appeared to be hindered in the area by Jerome Boateng and Dante in injury time, but referee Peter Gagelmann waved away Frankfurt’s penalty claims.
Bayern was more in control in the first half, when Mandzukic ensured the club scored for the 39th Bundesliga game in succession.
Guardiola’s influence could be seen in his side’s set-up, with Schweinsteiger dropping very deep to initiate play and Bayern engaging in a short passing game.
Arjen Robben came on for Mueller in the 74th and had a goal ruled out for offside shortly afterward in what was another close call.
Mario Goetze remained on the bench and will need to wait for his Bundesliga debut for Bayern.
Hamburg conceded an early goal for the second time in as many games when Roberto Firmino put Hoffenheim ahead in the fifth.
Rafael van der Vaart equalized from the penalty spot in the 44th but the respite was brief.
Kevin Volland put the visitors back in front in the 50th, Anthony Modeste capitalized on an error from Lasse Sobiech to make it 3-1 in the 67th, and he scored again in the 75th thanks to more lax defending, before Roberto Firmino completed the rout with his second in the 78th.
Schalke striker Klaas Jan Huntelaar struck the post in the first half, but didn’t emerge for the second due to a right knee injury.
Robin Knoche scored after a corner for Wolfsburg in the 55th, Vieirinha made it 2-0 with a fine strike in the 61st, Naldo scored in the 67th, and Stefan Kutschke completed the scoring in injury time.
Stuttgart defender Daniel Schwaab’s own goal was enough for former side Leverkusen.
Mehmet Ekici scored in the 22nd as Bremen started the season with two wins for the first time since 2006.
Niki Zimling and Nicolai Mueller scored in the 64th and 68th for Mainz at Freiburg, three minutes before Sebastian Freis scored what proved to be just a consolation.