Leverkusen (3-4-2-1): Mark Flekken (1), Robert Andrich (8), Loïc Badé (5), Edmond Tapsoba (12), Jonas Hofmann (7), Ibrahim Maza (30), Aleix García (24), Álex Grimaldo (20), Malik Tillman (10), Ernest Poku (19), Patrik Schick (14)
Dortmund (3-4-2-1): Gregor Kobel (1), Aaron Anselmino (28), Waldemar Anton (3), Nico Schlotterbeck (4), Julian Ryerson (26), Felix Nmecha (8), Marcel Sabitzer (20), Daniel Svensson (24), Karim Adeyemi (27), Julian Brandt (10), Serhou Guirassy (9)

Leverkusen
3-4-2-1
1
Mark Flekken
8
Robert Andrich
5
Loïc Badé
12
Edmond Tapsoba
7
Jonas Hofmann
30
Ibrahim Maza
24
Aleix García
20
Álex Grimaldo
10
Malik Tillman
19
Ernest Poku
14
Patrik Schick
9
Serhou Guirassy
10
Julian Brandt
27
Karim Adeyemi
24
Daniel Svensson
20
Marcel Sabitzer
8
Felix Nmecha
26
Julian Ryerson
4
Nico Schlotterbeck
3
Waldemar Anton
28
Aaron Anselmino
1
Gregor Kobel

Dortmund
3-4-2-1
| Thay người | |||
| 63’ | Patrik Schick Christian Michel Kofane | 61’ | Serhou Guirassy Fábio Silva |
| 74’ | Jonas Hofmann Claudio Echeverri | 80’ | Julian Ryerson Yan Couto |
| 74’ | Malik Tillman Martin Terrier | 80’ | Karim Adeyemi Jobe Bellingham |
| 88’ | Robert Andrich Jarell Quansah | 90’ | Julian Brandt Carney Chukwuemeka |
| 88’ | Ernest Poku Nathan Tella | 90’ | Felix Nmecha Ramy Bensebaini |
| Cầu thủ dự bị | |||
Niklas Lomb | Carney Chukwuemeka | ||
Jarell Quansah | Pascal Groß | ||
Jeanuel Belocian | Emre Can | ||
Claudio Echeverri | Alexander Meyer | ||
Martin Terrier | Yan Couto | ||
Eliesse Ben Seghir | Ramy Bensebaini | ||
Alejo Sarco | Jobe Bellingham | ||
Nathan Tella | Julien Duranville | ||
Christian Michel Kofane | Fábio Silva | ||