The match lived up to fans' expectations with early goals from Marco Reus and Jakub Blaszczykowski handing an early advantage to the visitors.
But Stefan Reinartz pulled the hosts level with two goals in four second-half minutes before Poland striker Robert Lewandowski snatched the winner for Dortmund with his 13th goal of the season.
The winning strike capped a man-of-the-match display from Lewandowski who had a hand in every Dortmund goal.
A fourth straight win for Champions League competitors Dortmund lifted them to 39 points, two ahead of third-placed Leverkusen and 12 behind leaders Bayern Munich, who beat Mainz 05 3-0 on Saturday.
"This match lived up to its top clash billing," said a happy Dortmund coach Juergen Klopp. "Leverkusen were a tough team to beat and every goal they scored was fully deserved."
"The two teams forced each other to make mistakes. Despite not being focused enough in some actions in the first half we showed a lot of courage after the equaliser," Klopp told reporters.
The visitors got off to a flying start with Reus timing his run perfectly to latch on to a Lewandowski through ball and chip it over keeper Bernd Leno after three minutes.
Lewandowski was awarded a penalty six minutes later when he was caught by Leno in the box and Jakub Blaszczykowski drilled in the spot kick for his ninth goal of the season.
Leverkusen, who suffered their first home defeat since coaching duo Sascha Lewandowski and Sami Hyypia took over late last season, showed signs of life when they passed up a golden chance to get back in the game as Stefan Kiessling's diving header from point blank range sailed just wide.
Kiessling, once again overlooked by Germany coach Joachim Loew for their friendly against France next week, also missed a chance to add to his 13 goals early in the second half.
Dortmund keeper Mitch Langerak, a last-minute replacement for Roman Weidenfeller who was ill, blocked his close-range header with a reflex save and Mats Hummels cleared the rebound off the line.
The hosts, who were much more offensive in the second half, roared back with holding midfielder Reinartz levelling with two goals in four minutes as the Dortmund defence looked out of sorts.
Their celebrations were cut short, however, with Lewandowski pouncing on a loose ball after a bad backpass from Philipp Wollscheid to notch his 13th goal of the season two minutes after Leverkusen drew level.
"Everyone saw what happened," said a disappointed Wollscheid. "I cannot explain it. I took away whatever credit the team managed to earn back."
Countryman Blaszczykowski had the chance to restore the two-goal cushion but Leverkusen keeper Leno saved his second spot kick in the 70th minute. Dortmund, however, held on for victory despite a nervous end to the match.
In the only other game on Sunday, Nuremberg scored twice in the first half through Timmy Simons and Tomas Peckhart to beat Borussia Moenchengladbach, who pulled a goal back with a fine effort from Patrick Herrmann.
- Sports & Recreation
- Robert Lewandowski
- Jakub Blaszczykowski