Robert Lewandowski and Marcel Schmelzer scored a goal in each half to secure victory for the German champions and cup holders, with Cristiano Ronaldo netting for Real soon after Lewandowski's opener. The result leaves Dortmund top of Group D with seven points from three games, one ahead of their Spanish opponents and four clear of AFC Ajax, who beat Manchester City in the other group encounter.
Early chances, Khedira off
Back to their standard 4-5-1 formation after the unsuccessful back-three experiment against Schalke and with Mario Götze restored as part of a three-pronged attacking midfield alongside Marco Reus and Kevin Großkreutz, Dortmund were almost caught cold in the fifth minute when Mesut Özil just failed to make contact with a dangerous low ball across the face of the box from Cristiano Ronaldo.
The hosts started to warm to the task after around the ten-minute mark, skipper Sebastian Kehl leading by example with a powerful drive that Real keeper Iker Casillas could only push to the side. With BVB starting to exert some decent pressure, Madrid suffered a blow just shy of the 20-minute mark when German international midfielder Sami Khedira had to depart the action with a thigh injury, Luka Modric taking his place. Not long after that, Angel de Maria twisted free inside the home box before curling a shot just over the bar.
Dortmund strike, Real respond
With Modric settling in straight away, Real started to up the pressure again, but the next chance of note was BVB's, Götze teeing up Kehl for a fine effort that Casillas managed to tip over the bar. That was in the 26th minute, and ten minutes further down the line the skipper turned provider, to deadly effect. Picking up a loose ball out of defence by Pepe, Kehl sent Robert Lewandowski clear and the Polish frontman clinically planted his finish past Casillas at the near post.
The Signal Iduna Park erupted - only to be silenced again less than two minutes later as Real pulled level. Özil played an inch-perfect ball over the Dortmund defence and into the path of Ronaldo, who expertly clipped it over the onrushing Roman Weidenfeller into the net. An entertaining first-half closed out with a late opportunity at either end for first Götze, then Sergio Ramos, the latter not missing the target by much at all.
Borussia back in front
Borussia began the second 45 in forward mode and Götze should have put them back in front five minutes in, finding his master in Casillas after being set up in textbook fashion by Lukasz Piszczek's cut-back. The Yellow-Blacks were starting to get into their high-pressing stride now and with little over an hour gone, it paid dividends. Götze floated over a cross from the right that Casillas punched straight to the feet of Marcel Schmelzer, the full back responding with a low drive that found the corner of the net with Lewandowski obscuring the keeper's view.
A long 25 minutes remained for the German champs to negotiate and for the most part they looked to be weathering the storm. It got fairly intense towards the finish, with Subotic swinging wildly at a cross in the 83rd minute, with Weidenfeller thankfully on hand to defuse the situation, and Michael Essien heading just wide at the far post in the 89th.
Dortmund:Weidenfeller - Piszczek, Subotic, Hummels, Schmelzer - Bender (Gündogan 67'), Kehl - Reus, Götze, Großkreutz - Lewandowski
Real: Casillas - Sergio Ramos, Pepe, Varane, Essien – Khedira (Modric 20'), Xabi Alonso - di Maria, Özil, Cristiano Ronaldo - Benzema (Higuain 73')
Goals: 1-0 Lewandowski (36'), 1-1 Ronaldo (38'), 2-1 Schmelzer (64')