Leipzig a pris l'avantage en milieu de première mi-temps, lorsque Mohamed Simakan, déchaîné, a trouvé Timo Werner qui a ouvert le score à bout portant.
Le défenseur Willi Orban a marqué en contre dans le temps additionnel pour permettre à Leipzig de se qualifier pour les demi-finales pour la quatrième fois en cinq saisons.
Les deux derniers vainqueurs de la Coupe se sont affrontés dans ce qui est devenu une rivalité de plus en plus amère entre les équipes les plus susceptibles de défier le Bayern Munich pour les trophées majeurs en Allemagne.
Le Bayern ayant été éliminé par Fribourg mardi, les deux équipes savaient qu'une victoire les placerait en pole position pour la Coupe.
Leipzig, qui avait perdu quatre de ses cinq derniers matches, a fait preuve de fluidité et d'agressivité en attaque, piquant au vif une défense de Dortmund en état de choc.
Le gardien de but Gregor Kobel, après une erreur qui a conduit à l'effondrement de son équipe samedi contre le Bayern, a tenu bon, réalisant plusieurs arrêts acrobatiques en début de match.
Simakan a couru 50 mètres pour offrir à Werner le cinquième but de l'ancien attaquant de Chelsea dans cette campagne de Coupe.
Malgré les nombreux changements apportés par l'entraîneur Edin Terzic en attaque, Dortmund était inefficace en attaque, manquant le jeu de liaison de l'attaquant Sebastien Haller, blessé.
Dortmund a dominé la possession du ballon en fin de match et a failli marquer dans les arrêts de jeu, mais Kobel a été poussé, et Leipzig a marqué un deuxième but par Orban sur l'engagement pour sceller la victoire 2-0.
Dortmund, qui avait entamé l'année 2023 avec 10 victoires consécutives toutes compétitions confondues, a désormais perdu trois de ses cinq dernières rencontres.
A deux points du Bayern en championnat, Dortmund devra stopper sa chute à domicile contre l'Union Berlin, troisième du classement, samedi.
Stuttgart progresse
Mercredi, Enzo Millot a marqué en fin de match pour permettre à Stuttgart de se qualifier pour le dernier carré en s'imposant 1-0 à Nuremberg.
L'entraîneur de Stuttgart, Sebastian Hoeness, a remporté la victoire 48 heures après avoir remplacé Bruno Labbadia, qui avait été licencié.
Le coup d'envoi a été retardé d'une demi-heure en raison des retards causés par l'entrée des supporters dans le stade à guichets fermés.
Seule équipe de deuxième division présente dans les quarts de finale, Nuremberg tentait de sauver sa fierté après une saison médiocre en championnat qui l'a contraint à lutter pour éviter la relégation.
Stuttgart est lanterne rouge de la Bundesliga et les deux équipes se sont livrées à une première mi-temps morose.
Au début de la seconde période, le défenseur de Stuttgart Waldemar Anton a failli donner l'avantage aux visiteurs, mais sa tête a été arrêtée par Vindahl.
A moins de 10 minutes de la fin, Millot a ouvert le score.
Stuttgart a résisté à une dernière vague d'attaques de Nuremberg pour poursuivre sa quête d'un quatrième titre en Coupe d'Allemagne.
Stuttgart et Leipzig rejoignent Fribourg et l'Eintracht Francfort en demi-finale.