The Poland international scored his 13th goal of the campaign after Bayer Leverkusen battled back from an early two-goal deficit to push the defending Bundesliga champion.
Marco Reus' exquisite finish was followed by a Jakub Blaszczykowski penalty as the away side took control inside the opening 10 minutes before two goals from Stefan Reinartz drew the sides level after the break. Lewandowski responded a minute after Reinartz's equalizer, though, to put Dortmund back in front.
Blaszczykowski was denied by Bernd Leno from the penalty spot late on as he attempted to make the points safe, but Jurgen Klopp's team held on to leapfrog their opponents into second in the table.
Leverkusen was looking to bolster its position in the top two of the Bundesliga table with a victory, and Gonzalo Castro almost provided a perfect start inside the first minute, but his attempted lob floated harmlessly over the bar.
Despite looking fragile in defense, the champions were at their flowing best going forward and were ahead after just three minutes as Reus broke the offside trap and expertly chipped Leno after Lewandowski's perfectly weighted through ball.
Castro again found himself in the thick of the action, but he missed his kick when clean through on goal, and that proved costly as Klopp's side broke quickly and Leno was judged to have brought down Lewandowski with the Poland striker bearing down on the goal.
The goalkeeper was slightly lucky to get away with just a booking for the transgression, but he had no chance with Blaszczykowski's cool spot kick that sent the Germany Under-21 international the wrong way.
Die Borrusen were a constant threat in attack, and Felipe Santana almost made it 3-0 when he rose highest at a corner, but his header flew narrowly wide.
Santana was quickly back in the action at the other end of the pitch when he put in crucial challenge to deny Stefan Kiessling as the striker looked to latch onto a low cross from the left.
The home side introduced Sidney Sam from the substitutes bench at halftime, and the midfielder was involved straight away as he saw a shot well parried by reserve goalkeeper Mitchell Langerak after being found on the edge of the area.
Langerak was becoming increasingly influential in the Dortmund goal, and he made a superb save to deny Kiessling from point-blank range before Mats Hummels blocked Andre Schurrle's follow-up on the line.
The hosts eventually found their way back into the game as Kiessling took on Lukasz Pisczek before crossing for Reinartz to finish from close range in the 58th minute. Four minutes later the BayArena outfit found itself level as Reinartz headed in at the back post after Stefan Boenisch headed across goal to complete a remarkable comeback.
The tie score did not last long though, as Philipp Wollscheid's poor back pass was latched onto by Mario Gotze, and though Leno saved his poked effort, he could do nothing to prevent Lewandowski from sliding home the rebound.
Lewandowski was a constant thorn in Leverkusen's side, and he won his team's second penalty of the match as he got in down the right hand side and forced Boenisch into a foul. Blaszczykowski again stepped up but Leno guessed right and held onto the spot kick which was struck low to his left, preventing Dortmund from winning by a greater margin.