The Bayern Munich striker was in imperious form as he increased Bayern's lead at the top to four points, but he had a huge helping hand from opposition defender Mats Hummels.
Bayern went into Der Klassiker a point ahead of Dortmund, who were growing in confidence with the timely return of superstar striker Erling Haaland.
England's Jude Bellingham provided the opener when he set up Julian Brandt for a wonderful fifth-minute goal, but the hard work was soon undone by Hummels.
Punting the ball at Thomas Muller inside his own half, Hummels was beaten to it by the German, who set up Lewandowski to slot home.
Kingsley Coman looked like he may have put the game to bed with a goal just before half-time, but after the break the inevitable happened when Haaland equalised, scoring his 51st Bundesliga goal in 51 games.
Another Bellingham assist saw the Norwegian curl home in expert fashion, and Dortmund appeared to be in the ascendancy.
However, the home side were left livid not to have taken the lead when when Marco Reus appeared to clearly be taken down by Lucas Hernandez in the box.
Soon after a horrendous clash of heads with Dayot Upamecano saw Brandt leave the pitch on a stretcher, then things got even worse.
With 15 minutes to play, Hummels was at it again needlessly giving away a penalty with a handball in his own box, and Lewandowski squeezed the spot-kick through Gregor Kobel's fingertips.
The Pole now has 24 goals in 24 games against his former side, the most of any opponent, while he's broken the record for Bundesliga away goals with 118.
Dortmund boss Marco Rose was sent off after unleashing his fury at the referee as Lewandowski's shot hit the net, and the anger continued at full-time as Dortmund look set to fall short in the title race once again.