Al Westfalenstadion di Dortmund va in scena la trentunesima giornata di Bundesliga. A dare spettacolo nello stadio dei gialloneri sono Borussia Dortmund e Bayer Leverkusen, rispettivamente quarta e terza squadra in classifica. La squadra allenata da Stögel e quella di Herrlich hanno un bottino importante da contendersi, il terzo posto che garantirebbe un miglior sorteggio in Champions League. Finisce sul 4-0 per i padroni di casa.
Il Dortmund deve riscattarsi, dopo un Revierderby perso per 2-0 contro i cugini dello Schalke, il Leverkusen vuole riprendersi dopo la batosta subita dal Bayern Monaco. I due allenatori però devono fare i conti con gli infortuni: Schürrle, Kagawa e Batshuayi per i gialloneri, Lars Bender e Leno per le aspirine. Stögel dopo la sconfitta nel derby decide di rivoluzionare la formazione: Akanji prende il posto di Schmelzer, Sahin e Dahoud vengono sostituiti da Götze e Weigl mentre in attacco al posto dell'infortunato Batshuayi, spazio per il giovane Sancho.
Cambio modulo per il Bayer: Herrlich passa dal 4-2-3-1 al 3-4-1-2. Con l'infortunio di Lars Bender, il tecnico decide di passare alla difesa a 3, fuori Baumgartl e dentro Kohr, mentre Henrichs trova posto nella fascia destra, occupata da Bellarabi nella partita all'Allianz Arena.
Al 8' Götze prova a sbloccare il match, la sua conclusione viene deviata e si guadagna il corner. Calcio d'angolo che non sviene sfruttato dal Dortmund. Il gol non tarda ad arrivare: Sancho viene trovato libero in area da Pulisic, l'attaccante deve soltanto finalizzare e lo fa con bravura. Al 13' quindi è vantaggio Borussia con una partita che può riservare parecchie emozioni. A fare la partita sono i padroni di casa grazie ad un ottimo giro palla e anche l'esperienza in più, rispetto al Leverkusen, per vincere questa partita. Si porta avanti il Borussia per provare a trovare il raddoppio.
Nello sviluppo del calcio d'angolo, Sokratis salta più in alto di tutti ma per Özcan non è un problema. È questione di minuti: lanciò lungo per Sancho, sponda per Reus che tira una bordata da fuori area e trova il 2-0. Schmitz chiama il var e a Colonia scovano Sancho in fuorigioco. Punteggio che rimane quindi invariato. Dopo qualche minuto viene atterrato Pulisic in area: rigore per il Borussia. Dagli undici metri si presenta Reus che però viene neutralizzato da Özcan. Giornata particolarmente sfortunata per l'esterno tedesco. Il primo tempo finisce 1-0 tra il rimpianto Dortmund e la voglia di riscatto del Leverkusen.
Nella ripresa Herrlich sostituisce un Bailey molto in ombra nel corso del primo tempo al posto di Havertz. Al 50' i gialloneri si trovano il campo libero e partono in contropiede, Sancho vede Götze arrivare e lo serve ma il centrocampista tedesco non riesce a segnare. Al 55' Reus riesce a togliersi il peso del gol: sponda di Götze, Reus scarta Özcan e insacca il pallone del 2-0. Il Borussia chiude la pratica: Sancho vede l'inserimento di Philipp, mette in mezzo al pallone e il calciatore ex Friburgo segna il gol del 3-0. Partita che ormai sembra chiusa.
Il Leverkusen sa che non è finita e prova a spingere di più, mentre Stögel decide di inserire Dahoud al posto di Pulisic per difendere meglio il risultato. Al 78' arriva la doccia fredda per il Bayer: Sancho vede allargarsi Reus, pennella un cross preciso per la testa del tedesco e Özcan non può fare niente per evitare il 4-0. Un ottimo Borussia riesce a battere il Leverkusen grazie ad un ottimo giro palla, pressing e l'esperienza.