Made an outstanding save from Vukcevic on 63 minutes, but was largely untested otherwise. Came forward in the closing minutes to offer moral support, and little more as he ran around like a headless chicken.
Allowed the neither fast nor technically brilliant Luis Gustavo to get behind him, which led to Ba's goal. Was otherwise a skilled stand-in for Patrick Owomoyela, though the Pole was the less preferred attacking fullback.
Looked dangerous bombing forward, and was almost always fastest to the ball - he won seven of his nine challenges. Not used as much as usual, but played well when BvB sought an outlet on the left flank.
Like Hummels, he did quite well for most of the game, though the Serb was more rooted in his defensive role. However, Subotic was as responsible as his partner for allowing the opener.
Showed superb technique for a defender as he bombed forward on occasion, and nearly equalised. At the back, he formed a good partnership with Subotic for all but one terrible moment, when he allowed Ba to get behind him and score.
Very active in the first half, but a touch below his usual self. The youngster had been nursing an injury entering this afternoon's match, and was replaced by the more attack-minded Goetze at the half.
Not suited for the type of game Dortmund played after the half. The Polish winger had few opportunities to use his pace, and was rarely used as an outlet.
Played well in defence, but as a winger, his purpose was to score and create goals. He did neither. The 22-year old had a great chance to equalise on 49 minutes, but looped his volley over the bar. Was eventually sacrificed for Lewandowski.
His worst game of the season. The Turk was unlucky to have his penalty called back, but should have done better with his second effort. Played a brilliant ball to set up Barrios on the hour mark, but lacked the composure needed to play the role he has adopted. Sahin had 114 touches during the game, but did not use them very well - he lost his nerve towards the end. At least he had the presence of mind to let Da Silva take the final free kick.
Though very intelligent, the playmaker lacked the touch to complement his creativity. Made a brilliant turn to set up Grosskreutz early in the second half, but struggled in a tightly packed midfield area.
Far off his usual, deadly form, the Paraguayan took just one shot the entire game, and had it deflected just wide of the post.
Could do absolutely nothing about the equaliser. Made a brilliant stop from Barrios on the hour mark, and of course did exceptionally well to save Sahin's penalty.
Not nearly his best performance. The right back was far too slow to the ball, and errant in his passing. Surprisingly, Luis Gustavo proved to be a much more effective outlet.
Conceded too many dangerous free kicks for a centre half. Positioned himself well, but occasionally had to be bailed out by his teammates.
Better than Compper on the whole, Vorsah was a bit more effective in his challenges. However, he had an absolute mental howler when he conceded a penalty early on.
The youngster remains outstanding in isolated instances. He struggled to link with his teammates, but did very well to make space and shoot on goal in the first half, and forced a stunning save on 63 minutes.
Like Salihovic, the youngster was off his game. The Hoffenheim midfield trio did very little to support Ba, and Rudy often resorted to sending blind clearances forward.
Forced to play a primarily defensive role, the German was the best of Hoffenheim's three midfielders. He won the majority of his challenges, gave the Dortmund attackers plenty of trouble outside the 18-yard box, and was rather fluent in his passing. Replaced at the death as Rangnick looked to waste some time.
Playing as a makeshift left back, the Brazilian was caught upfield once or twice early, but settled in well. He did well to create Ba's opener, and after being booked for repeated rash challenges, played a clean but effective defensive role.
A bit overrun in midfield, the Bosnian grew increasingly frustrated over the 90 minutes, and it showed in his needless sending off at the death.
Positioned himself well to take an easy finish for the opener. Hoffenheim rarely went forward, and though isolated, the Senegalese striker looked very dangerous indeed. Has struck a rich vein of form this season.
Had no shortage of support in Beck, but struggled to get into the game nonetheless. Had just 15 touches, and was replaced at the start of the second half.
- 20 M. Langerak
- 27 Felipe Santana
- 17 Dedé
- 14 M. Feulner
Technically brilliant as always, and very active during his 45 minutes on the pitch. Surprisingly, the 18-year old was arguably his team's most composed player. Struggled to make an impact in a very congested attacking area, but showed maturity well beyond his years.
Antônio da Silva
Signed as an afterthought during the summer, but proved his worth in 16 minutes of play. The veteran midfielder, who is almost old enough to be Goetze's father, played coolly in midfield, kept his composure, and delivered the last-gasp equaliser with a gorgeous free kick.
Replaced Grosskreutz on the hour, but greatly struggled. The Polish attacker had just 12 touches, and looked uncomfortable with the game's flow.
- 3 M. Jaissle
- 8 C. Eichner
Came on for the closing moments, and his only contribution was to (albeit unluckily) concede the free kick that Da Silva converted for the equaliser.
Looked a bit dainty. The Iceland international was reluctant to defend, but came to life on the rare occasion that Hoffenheim were in the attacking third. His substitution was not the brightest move.
- 18 P. Tagoe
- 19 V. Ibišević