Had few saves to make, and was rarely called into action, but conceded a needless penalty late on. He atoned in part due to his save, but benefited from a poor strike.
Pushed his luck on a few occasions as his robust defending could have resulted in free kicks - and in one instance, a penalty - the opposite way. But he remained on the right side of the line between fair and illegal, and his good work against Ribery, plus some luck, kept Bayern off the scoreboard.
Along with Subotic, the centre-back shut out Gomez for the fourth consecutive meeting with Bayern. A very strong performance from the Germany international against his former club.
Got his signals mixed with Hummels once in the opening stages, but otherwise had 85 outstanding minutes. He almost made it all go to waste, however, as he misjudged a flighted ball that found Ribery, then headed off his own post.
Had less to do in possession and benefited from the defensive work of the tireless Grosskreutz, but gave Robben no space on the flank. Led a few attacks of his own, and his combination with Perisic eventually led to the winner.
Came ever so close to stunning the visitors with an early goal, but Neuer intervened. Was almost entirely anonymous in attack afterwards, although his defensive work kept Robben at bay. And it must be noted: it was his shot that ultimately turned into an assist for the winner.
Did well to double up on Ribery, but his one-footedness cost him on the offensive end. Couldn't finish when through on goal early, and rarely was able to swing in a cross as Alaba anticipated his moves. Played one brilliant ball to Lewandowski, who hit the post.
The captain perhaps got away with some very robust play, but he did what he had to in order to see his team to victory. Made some timely interventions, and was always willing to step out wide to help guard against Robben and Ribery.
Played two glorious passes from deep to play in Kuba and Lewandowski, and proved his resurgence of form is no blip. Dominated the midfield in the first half, but faded and was substituted for the final stage.
Masterminded a sequence that should have resulted in an early goal, and had a pair of chances that he just couldn't finish. Guilty of some loose passes on occasion, and his only contribution after the break was a fortunate opportunity he fired wide. Replaced for the final quarter hour.
Had limited touches in the final third, but did what Gomez could not do: his ability to claim long passes eased the pressure from the BVB defence. Unlucky to be denied by the post late in the first half, but scored the all-important opener with a clever finish. Nearly got his double at the death, but was denied by the bar.
Made the difference for Schalke in their draw with BVB last spring, and again came up aces. Forced Kuba into a tough shot early on, then made two outstanding saves on Grosskreutz and Lewandowski. Was left with no chance to stop the winner.
His quickness, both mental and with his feet, put him a class above his team-mates. Brilliant in defence, and formidable in the physical clash. Often rushed his final delivery, but was the best Bayern player on the park.
Had an understated game on the whole as he played conservatively and showed respect for his opponents' pace. Rarely had the chance to join in the attack and show his other qualities.
Caught napping in the opening exchanges as Kuba stormed through on goal. Improved afterwards and showed good anticipatory skills, although he was no physical match for Lewandowski.
Contended with Lewandowski and ruled the air. Not directly responsible for the danger Dortmund showed - perhaps unlucky to be on the losing side.
Showed his class in the first touch and with one or two runs, but was typically dispossessed before he could deliver a telling ball. Had more space to use in the latter stages of the match and won a penalty, but his poor spot-kick, plus an unimaginable miss at the death meant no points for Bayern. All this, and he played Lewandowski onside for the winner.
Combined with Alaba for most of Bayern's attacking moves, but was swarmed and spent more time working his way out of tight spaces than playmaking. Gifted a chance on the hour mark, but missed well wide. However, he gathered confidence and created real danger afterwards: he played the ball that led to Robben's penalty.
Battled hard and kept Kagawa at bay. His long legs bailed out Bayern on more than one occasion. His limits showed for not the first time this season, however, in his inability to contribute to the attack.
Had a quiet evening as his creativity was missed in the attacking third due to playing deeper than usual. Had Bayern's best chance of the first half as he fired just wide of the post. Linked well with Ribery after being promoted into the attack.
Put in the hard yards, but rarely ever received the ball and never looked a threat. Anonymous for an hour before being withdrawn.
Struck a decent header towards goal in the opening moments, but like Muller, rarely found himself in possession as he took on the twin towers of Hummels and Subotic. Simply could not adapt his game to an unfamiliar flow of play.
- 20 M. Langerak
- 27 Felipe Santana
A time-wasting substitute for the closing moments.
Came on with 15 minutes remaining and won the corner that preceded the winner.
Replaced Gundogan in midfield for the final quarter hour. His fresh legs helped close down space in the centre.
- 22 S. Bender
- 18 L. Barrios
- 22 H. Butt
- 13 Rafinha
- 26 D. Contento
- 23 D. Pranjić
Came on for Muller to shore up the midfield on the hour mark. He would prove to be no hero, however, as he struggled to make an impact. Still lacking in match practice, quite clearly.
- 44 A. Tymoshchuk
Came on for Gomez, but had no more luck in the centre than his predecessor.