The Croatian forward's goal was the only difference in the Bundesliga champions' first away game of the season
The Croat netted with a superb first-half effort as the reigning champions made it two wins from two games.
Frankfurt will have felt aggreived with the loss as they had a goal controversially disallowed through Alex Meier just before half-time.
Die Roten had further chances in the second half to extend their lead and thought they had when Arjen Robben netted but it was also chopped off.
Bayern boss Pep Guardiola left new signing Mario Gotze on the bench but made one change from their victory over Borussia Monchengladbach with Xherdan Shaqiri coming in, while Stefan Aigner, Takashi Inui and Anderson all started for Frankfurt.
In front of an electric atmosphere at the Commerzbank-Arena, the early exchanges saw both sides threaten as Bayern unsurprisingly controlled possession.
David Alaba impressed down the left-hand side for the visitors, providing a number of supporting runs, and a Franck Ribery cross from that area saw Toni Kroos hit the post with a header after nine minutes.
And, after a period of sustained pressure, Mandzukic spectacularly opened the scoring for the visitors with an acrobatic volley into the top corner after an accurate cross from Thomas Muller.
Frankfurt then pressed for an equaliser, but Bayern continued to dominate the midfield battle with Bastian Schweinsteiger and Toni Kroos keeping possession ticking over. Alex Meier momentarily threatened for the hosts though, but his powerful header was directed safely into Manuel Neuer’s arms.
Guardiola’s men nearly doubled their lead, with Muller and Dante both having golden goal-scoring opportunities. Ribery orchestrated Muller’s chance - again down the left-hand side - but the Germany international was yards away from making firm contact in the penalty area.
A fine point-blank save from goalkeeper Kevin Trapp kept Frankfurt in the game after Dante hit an effort from close-range, as the visitors looked to increase their lead.
Frankfurt thought they had equalised from a corner on 41 minutes with a header from Johannes Flum, but the referee ruled the goal out as Meier was caught in an offside position.
Armin Veh’s men restarted proceedings with renewed vigour and optimism after the break as they battled to find an equaliser.
However, the home side struggled to create many clear-cut opportunities, and Guardiola introduced substitutes Thiago Alcantara and Arjen Robben as the away side looked to take the sting out of the game.
Bayern still looked dangerous and had chances to seal the win in the closing stages, but their one-goal lead ultimately proved enough to secure all three points and condemn Frankfurt to their second loss of the season.