Em linda jogada coletiva iniciada por Henrikh Mkhitaryan, o gabonês invadiu a área pela direita e cruzou na medida para Marco Reus, que apareceu na segunda trave para mandar a bola para as redes.
Rupp empatou aos 21, após bate-rebate na área do Borussia, mas a torcida mal teve tempo de comemorar.
Artilheiro da Bundesliga com vinte gols em vinte rodadas, Aubameyang deixou o dele dez minutos depois, com um belo chute colocado da entrada da área.
Aos 44, o gabonês voltou a atacar de garçom, ao puxar contra-ataque pela esquerda antes de rolar para Mkhitaryan empurrar a bola para o gol vazio.
Brasileiro do Leverkusen é expulso
Mais cedo, outro confronto válido pelas quartas de final da Copa da Alemanha terminou com vitória por 3 a 1 do time visitante, mas o resultado foi mais surpreendente.
O Werder Bremen, que luta para permanecer na elite, derrotou de virada o Bayer Leverkusen, quinto colocado da Bundesliga, que no último sábado segurou o empate sem gols com o intocável Bayern de Munique.
É a segunda vez que o Werder apronta fora de casa na competição. Na fase anterior, superou por 4 a 3 o Borussia Moenchengladbach, que era franco favorito do confronto.
Em Leverkusen, o atacante mexicano 'Chicharito' Hernández abriu o placar de pênalti para o time da casa aos 21 minutos de jogo.
O Bayer parecia se encaminhar para uma vitória tranquila, mas o argentino Santiago Garcia deixou tudo igual aos 31, e o veterano peruano Claudio Pizarro virou aos 42, ao converter outra penalidade máxima, cometida pelo brasileiro Wendell.
O lateral foi expulso no lance, complicando ainda mais a vida do seu time, que levou o tiro de misericórdia aos 38 da etapa final, ao sofrer um gol de Grillitsch.
O atual campeão Bayern de Munique e o Hertha Berlim, terceiro colocado da Bundesliga, disputam as outras vagas nesta quarta-feira, contra dois times de segunda divisão, o Bochum e o Heidenheim, respectivamente.
--Resultados das quartas de final da Copa da Alemanha:
-Terça-feira:
Bayer Leverskusen - Werder Brême 1 - 3
Stuttgart - Borussia Dortmund 1-3
Quarta-feira (horário de Brasília):
(16h00) Heidenheim (D2) - Hertha Berlim
(17h30) Bochum (D2) - Bayern de Munique