Made a couple of decent saves in the first half, but was not made to work that much by the champions.
Has been one of his side's star players this season, but failed to keep a hold of Shaqiri in particular.
Did well at left-back, helping to keep Muller, Robben and Lahm largely quiet, save when the Bayern captain set up the goal.
Did a decent job at keeping Gomez quiet without standing out a huge amount. Continues to be a good cog in their defence.
Completely lost Schweinsteiger for the goal and failed to deal with Bayern's rotating forwards.
The reported Bayern and Dortmund target did not have the best of times in the centre of the park, failing to deal with Schweinsteiger and Martinez well.
Came as close as anyone in his side to threatening Neuer, but his shooting was largely wasteful as he spurned a number of opportunities.
Save for a cross to Lakic as Frankfurt rallied late on, Aigner did not have much influence on the game, despite Alaba's disappointing showing.
Started in the absence of Schwegler but barely touched the ball before being withdrawn after just 30 minutes.
A complete passenger when he was on the pitch, the forward was rightly hooked after 75 minutes, and his replacement did far more than him.
A passenger for much of the match, the goalkeeper came up big in the closing stages, making a couple of superb saves.
Saved Bayern with a fantastic tackle on Inui to deny the Japanese a goalscoring opportunity. Solid for the most part.
Did not let the Frankfurt attack have any sight of the Bayern goal until late on, when he faded somewhat.
With Frankfurt offering very little down the left, the Bayern captain was allowed to stride forward and set up Schweinsteiger's winner.
After his superb showing in midweek, the Austrian was slightly disappointing today, missing the penalty with a poor effort.
As ever, his running was threatening, but he was often wasteful in possession, scuffing a number of shots when he should have done better.
Kept things ticking over nicely in the centre of the park after returning to the starting line up.
Was arguably his side's most threatening player in the first half, running at defenders and testing Nikolov.
Continued his fine form with another accomplished showing, forcing Nikolov into a great save before the break and scoring the winner with a lovely back heel.
Failed to stake his claim with a really poor showing. Barely had a sniff of the ball and was rightly taken off.
Won the penalty, but was fairly disappointing for the most part, drifting in and out of the game before being withdrawn after an hour.