The keeper could have done nothing to have kept out Mandzukic's top-drawer effort, but he did do superbly to stop Dante adding another from close range later on. A number of other good saves kept the score so close.
The right-back was beaten time and again by Ribery as the Frenchman absolutely dominated the wide areas. He could not get near winger which meant Bayern had plenty of supply into the middle.
At times he was very hesitant in possession and relied on the sympathy of the referee when caught on the ball. He displayed a fiery temper, but this helped him cope with Mandzukic. Became stronger the longer the game went on.
The left-back was caught out as he got sucked in by Lahm and left Muller in space to supply the only goal of the game. He gave a solid account of himself at the back for the most part, though, despite that early slip up.
The Brazilian had a largely comfortable afternoon. He and Zambrano did well to ensure Mandzukic was never given too much space and he did well to clear the danger inside the area at the first opportunity.
Put in a hard-working performance for his team. Unfortunately, though, he contributed very little at either end in what was ultimately an ineffectual outing.
When in possession he lacked ideas and rarely played a penetrating forward pass. He sat in front of his defence and never really seemed to keen to get involved in the game before being withdrawn.
Struggled to get involved in the play when moving forward, he did not offer enough support to Meier in the final third. Nevertheless, he showed plenty of industry when out of possession and pressed the Bayern midfielders.
Played on his own in attack but did not show the required movement to be able to get in behind the opposing defence. However, he still tested Neuer with a good header in the first half and almost got a late equaliser.
At times gave Bayern cause for concern as he looked to exploit any space left by Alaba. He did not put a great number of crosses into the box, though, and left Schrock exposed too often against Ribery.
His quick feet enabled him to cut inside of Lahm and test Neuer early on, but after that he failed to continue in such a fashion. He created very little from the left and lacked the pace to cause problems when running in behind.
The keeper was called into action early on as he made a good save from Inui's searing shot. He never looked back from there as he controlled his area brilliantly from set plays and never looked like being beaten.
Played with his usual composure as he passed the ball confidently out from the back. He had some bright runs forward which at times left his team vulnerable. The Brazilian could have grabbed a goal but made some unneccessarily rash challenges.
Pushed on at every opportunity and helped stretched Frankfurt with his presence in the wide areas. His movement was key to the opening goal and he continued to pull the hosts' defence out of position as he moved inside.
Another good performance from the Austrian. He supported Ribery brilliantly and put a number of good crosses into the area, one of which Kroos hit the post from. His energy enabled him to get back into position quickly if Frankfurt broke.
A solid performance from the Germany international. He was dominant in the air and also played some high-quality passes up from the back. He communicated well with Dante to keep his team tight at the back.
Rattled the post after just nine minutes with a brilliant header. He did not influence the game quite as heavily as he would have liked, but he was utterly assured in possession and kept his team ticking over from wing to wing.
Played in a very deep role in front of the defence but still displayed his excellent array of passing. It was not until the second half, though, that he ventured forward and got a few shots away on goal.
Hugged the left flank and gave Schrock an absolute nightmare. He was a constant source of danger, whether it be racing to the byline or cutting inside and looking for the shot. He had the beating of his opponent all afternoon.
Floated about the pitch but was unable to get involved in the play to create anything for his team. He failed to test Trapp and was replaced by Thiago in the second half.
Although he produced a brilliant cross which was finished just as excellently by Mandzukic in the first half, it proved to be the only impact he would have on the game and was substituted before the end.
Scored an absolutely stunning goal in the first half, showing awesome technique to volley the ball into the back of the net. He provided a target inside the box but he also dropped off the play and linked well with his team-mates to help create chances.