Unlucky to concede the opener and can take no fault for Muller's goal. Made a couple good stops, and his one mistake - a bit of a slip-up in handling a long shot - went unpunished as he made a quick recovery.
Perhaps unlucky not to win a free kick ahead of the second goal, but a defender cannot hope for a referee's whistle to bail him out: he should have been stronger to stop Alaba. Aside from that one mistake, the Austrian did well on his flank, and won the battle overall with Muller.
Preferred over Marco Hoger, but was no significant improvement as he was given the runaround by Ribery. Held his own for long spells, but with the Frenchman always eager to take him on, he was bound to eventually slip up, and surely enough, did just that on a few critical occasions.
Spoke like a tough guy as he confronted Ribery in the early proceedings, but could not back his attitude with an equally formidable performance. Too loose in the pass, too late to the ball, and his botched clearance resulted in Muller's goal.
The one classy player in a back-line that can only be described as mediocre at best. The skipper defended very well, but his individual heroics of course were not enough to stop Bayern's attack.
A bit of a mixed bag. Made a good block from Ribery in the early proceedings, but his ball-play was rather sloppy, and he conceded possession too easily.
Formally deployed as a winger, the birthday boy was not quite as active as usual until his move to a central position. Formed a good partnership with Fuchs, however, and his defensive tracking is not to be under-estimated.
A bit short of match practice heading into the big game, and it showed. Booked early on, and with the game becoming increasingly physical and Schalke needing a goal, he was the logical replacement as Rangnick brought on the more attack-minded Draxler.
Beaten for strength and pace by Ribery ahead of the opener, the Peruvian had a very frustrating game overall as he was consistently kept in check by Lahm.
Perhaps a bit fatigued after Thursday's match with Steaua, the veteran struggled to make an impact on the attacking end. Defended well, but had minimal effect where he was most needed.
Unfortunate not to have netted a brace in the first half. The Dutchman fired narrowly wide on either side of the half hour mark, and was easily his team's most dangerous player. He failed to replicate that form after the break, however, and was replaced shortly after the hour mark.
Had little to do overall in his return to Gelsenkirchen, but dealt with the jeers quite well and as always, was quick and decisive in coming off his line to claim through passes and crosses.
His worst game this season, yet Bayern still managed to keep a clean sheet. Was booked for a poor challenge on Farfan and had a slip up or two, but was nothing like the mess of yesteryear.
The better of the Bayern centre-halves, Boateng coolly shepherded the ball from danger in a couple of key moments, and won nearly every challenge for the ball that he made. Also had a header glance just wide late in the first half.
Like Neuer, the Brazilian played for the first time as an opponent in the Veltins-Arena, but shrugged off the jeers and played very well. Was very tactically disciplined, and spent most of the game in his defending half, where he never seemed troubled by Holtby or Draxler.
Played less forward than usual in a bid to keep Farfan quiet, but was efficient with his runs forward. Played a brilliant ball in to Muller, who should have scored. Quite comfortably the most active man on the pitch.
Picked up a knock early and was unable to finish the first half. The industrious Brazilian convinced in his limited minutes, but his story of the day was given a premature ending.
A run of consistent performances has left him contending for a permanent starting role, even when Arjen Robben returns. Kroos did nothing incredible and was not at all a No. 10 in function, but his technical strength was very valuable to winning the midfield battle with Schalke.
The Frenchman carried his fine form into what proved to be a tricky fixture, and his class shone forth as he set up both goals. Given a free role, he made excellent runs left, right, and centre to set up play. Loses some credit, however, for nearly gifting Huntelaar a goal with his sloppy back-pass.
Another convincing show from the vice-captain, who was immense in between the attack and defence. Made all the right interventions to deny the hosts the chance to counter, and rarely ever misplaced a pass. Quietly brilliant.
Quieter than usual on the right flank, but still managed to make his impact felt as he pounced on a defensive error and volleyed in a critical second goal. His efficiency as a centre forward late in the game may leave Petersen frozen out of Heynckes' squad.
Too hesitant to take an early chance, but scored in his second consecutive minute - albeit from a somewhat fortunate bounce - to put the visitors ahead. Squandered a pair of glorious opportunities early in the second half, and was withdrawn with 20 minutes left.
- 36 L. Unnerstall
- 21 C. Metzelder
An underwhelming display from the youngster, who saw little of the ball and had few ideas when in possession. Kept under wraps by Rafinha.
- 11 A. Baumjohann
- 12 M. Höger
Made his Bundesliga debut for the final 24 minutes as a replacement for Huntelaar, but had no impact. never once had a sniff at goal, and only had a handful of touches.
On for the final six minutes, and did not have enough time to have an impact.
- 22 H. Butt
On for a few ticks of the clock during stoppage time.
Replaced Petersen for the final 19 minutes and linked well with Ribery before Muller's goal.
- 5 D. Van Buyten
- 14 T. Usami
Came on for Luiz Gustavo shortly before half-time and added a different character to the game, but fit in well with Heynckes' plans. Came close to scoring with a stinging attempt from distance, and former a very stable partnership with Schweinsteiger at the back.
- 23 D. Pranjić