Munich - Manuel Neuer provided the solid foundations in his "personal derby", a Spaniard organised Bayern’s game and Arjen Robben swung a private battle in his favour. Here are FC Bayern Munich’s Champions League-winning stars in our player rater.

Manuel Neuer: In his "personal derby", he was tested more frequently than in the entire second half of the Bundesliga season and produced several stunning saves, including a world-class one to deny Robert Lewandowski (35’). However, he was sent the wrong way by Gündogan’s penalty.

Philipp Lahm: Let in Blaszczykowski for a golden opportunity (15‘), but then tightened his defensive shoestrings immediately. Rarely a threat going forwards, though. Not one of the captain’s best games, even though he improved as the match wore on.

Jerome Boateng: Showed a few weaknesses and was not very precise in the build up play. However, showed good positioning and a good eye. Overall a solid performance.

Dante: Lots of hard graft to begin with, but was always there when needed. Made himself available at all times, but was a bit overzealous in the tackle on Reus which led to the penalty.

David Alaba: Often in danger and left in a lurch a few times by Ribery to begin with. However, he fought his way back into the game, but was generally pallid going forwards.

Javi Martinez: Far more involved than his central midfield partner Schweinsteiger. Alert, strong in the tackle, circumspect, blocked plenty of promising Dortmund moves and was strong going forwards himself. A strong performance.

Bastian Schweinsteiger: Not the brains of the game which he would have been expected to be, especially at the start of the game. He tried to prevent Dortmund from getting into the game by sitting deep. Excellent set-pieces.

Arjen Robben: Lost his personal battle with Weidenfeller to begin with, but then opted to turn provider for Mandzukic before showing a touch of class to decide the game late on. He was always a threat.

Thomas Müller: A bit erratic to begin with, but then an increasingly important preparer and provider of ideas. Had a great chance to make it 2-1, but was denied by Subotic’s last-gasp clearance (72’).

Franck Ribery: Did not get involved too much in the defensive work to begin with and was not very effective going forwards either until his intelligent pass to Robben in the build-up to the opening goal.

Mario Mandzukic: Unfortunate to see his header saved by Weidenfeller (26). Not as devastating as usual in attack, but he was right where a striker has to be to make it 1-0. Got involved in the game more often after that.

Luiz Gustavo: (replaced Ribery, 90+1‘) Came on in stoppage time and did not get more than one touch of the ball.

Mario Gomez: (replaced Mandzukic, 90+4‘) Came on for the dying seconds of the game for Mandzukic, and referee Rizzoli blew the final whistle soon afterwards.