A thrilling contest from start to finish saw Los Blancos steal a point at the death after being frustrated by the visitors for long spells throughout the match
A display of defensive diligence and deadly counterattacking seemed set to send the German outfit to their second victory over Jose Mourinho's men, but a free kick from Mesut Ozil in the dying moments salvaged a point for the hosts.
Marco Reus gave Dortmund the lead in the 28th minute, before Pepe levelled the score six minutes later. However, another charge forward on the break saw Alvaro Arbeloa turn into his own net moments before half time.
The visitors ramped up their defensive intensity in the second half and seemed set to frustrate the hosts into submission but, with stoppage time looming, Ozil stepped up to bury a set-piece to split the points and keep things tight at the top of Group D.
Mourinho made two changes from the 4-0 win over Real Zaragoza. Xabi Alonso returned from suspension to replace Michael Essien, while Raphael Varane came in for Raul Albiol in the home side’s defence.
Jurgen Klopp meanwhile opted to name the same XI that laboured to a 0-0 draw with Stuttgart in the Bundesliga, with captain Sebastian Kehl, who was forced off with a facial injury over the weekend, starting with a protective face mask.
Madrid could have been ahead as early as two minutes into the game had Gonzalo Higuain taken a better first touch after racing through on goal, but he allowed Roman Weidenfeller to remove the danger.
Dortmund’s counterattack was shaping up to be quite a threat for the home side, and Marcel Schmelzer nearly took advantage of a gap in defence, but Iker Casillas was able to make a smart save.
Los Blancos found it hard to create much space in the opposition half, as the pressure from the visitors off the ball forced them into a number of mistakes in possession.
In a rare successful attack, Higuain managed to spring the BVB offside trap, but his first time cross to Cristiano Ronaldo at the far post was hit with too much purchase for the Portugal international to steer it home.
Then with 28 minutes gone, Madrid were made to feel the true potency of Dortmund on the break. A perfectly-placed flicked header from Robert Lewandowski released Reus on the left, and the 23-year-old smashed a fine half-volley past Casillas.
However, the goal seemed to finally click los Blancos into gear. After Dortmund had lost possession in their own half, the ball was worked wide to Ozil, who sent a fantastic cross to the far post, and Pepe charged in to plant a punishing header into the roof of the net.
Madrid were well on top following their equaliser, and it seemed to be only a matter of time before they struck again. A last ditch tackle from Neven Subotic on Ronaldo sparked BVB on the beak, and Varane was forced into a goal-saving challenge of his own.
But, with seconds to go until half-time, Dortmund carved them apart again. Lewandowski set things in motion with another flicked header, Kevin Grosskreutz took the ball in stride and centred across the face of goal. Gotze and Arbeloa challenged for it, and the Spain full-back diverted it past Casillas.
Mourinho brought on Jose Callejon for Higuain at half time, and moments after the restart, it appeared that he had struck gold with the change. The substitute bent a fine finish past Weidenfeller, but the goal was chalked off after he had strayed inches offside.
It was a much better start to the second half from the hosts, and Ozil’s cross-shot from the flanks forced Weidenfeller into a quick parry at his near post.
Dortmund were able to regroup in defence though, and as the second half wore on, Madrid found it harder to create clear cut chances, despite their dominance in possession.
Cracks began to appear in the visitors' defence as the match entered its closing stages, but los Blancos were unable to apply the finishing touch as Dortmund managed to hang on.
But with one minute of regulation remaining, just when it looked like there was no way back for Madrid, Ozil waved Ronaldo off a free kick and bent the set piece expertly into the bottom corner past the scrambling Weidenfeller to give the home side the breakthrough right at the end.