2003–04 Bayer 04 Leverkusen season

Bayer 04 Leverkusen bounced back from the nearly disastrous season it came from, finishing in the top three and qualifying for the UEFA Champions League in the process. The season marked the breakthrough for Bulgarian striker Dimitar Berbatov, who scored 16 goals, whereas Brazilian signing França contributed with 14 strikes. As it was, it was the attack that impressed the most, especially in the 6–2 crushing of champions Werder Bremen on the penultimate day of the season.

First-team squad

 * Squad at end of season

Bundesliga

 * Bayer Leverkusen-Freiburg 4–1
 * 1–0 Robson Ponte ⚽ 16'
 * 1–1 Sascha Riether ⚽ 19'
 * 2–1 Lúcio ⚽ 28'
 * 3–1 Juan ⚽ 41'
 * 4–1 Oliver Neuville ⚽ 61'
 * Eintracht Frankfurt-Bayer Leverkusen 1–2
 * 1–0 Nico Frommer ⚽ 42'
 * 1–1 Bernd Schneider ⚽ 51'
 * 1–2 Geri Cipi ⚽ 84' (o.g.)
 * Bayer Leverkusen-Hannover 4–0
 * 1–0 França ⚽ 2'
 * 2–0 Oliver Neuville ⚽ 9'
 * 3–0 Oliver Neuville ⚽ 52'
 * 4–0 Daniel Bierofka ⚽ 73'
 * Bochum-Bayer Leverkusen 1–0
 * 1–0 Tomasz Zdebel ⚽ 65'
 * Bayer Leverkusen-Hamburg 1–0
 * 1–0 Juan ⚽ 28'
 * Bayern Munich-Bayer Leverkusen 3–3
 * 0–1 Carsten Ramelow ⚽ 10'
 * 1–1 Roy Makaay ⚽ 26'
 * 1–2 França ⚽ 34'
 * 2–2 Roque Santa Cruz ⚽ 64'
 * 3–2 Michael Ballack ⚽ 69'
 * 3–3 Yıldıray Baştürk ⚽ 81'
 * Wolfsburg-Bayer Leverkusen 0–1
 * 0–1 Bernd Schneider ⚽ 57'
 * Bayer Leverkusen-Hansa Rostock 3–0
 * 1–0 Diego Placente ⚽ 70'
 * 2–0 Dimitar Berbatov ⚽ 75'
 * 3–0 Daniel Bierofka ⚽ 79'
 * Hertha Berlin-Bayer Leverkusen 1–4
 * 0–1 França ⚽ 12'
 * 1–1 Fredi Bobić ⚽ 47'
 * 1–2 Dimitar Berbatov ⚽ 54'
 * 1–3 Bernd Schneider ⚽ 72'
 * 1–4 Marko Babić ⚽ 86'
 * Bayer Leverkusen-Mönchengladbach 1–0
 * 1–0 Bernd Schneider ⚽ 49'
 * Kaiserslautern-Bayer Leverkusen 0–0
 * Bayer Leverkusen-Schalke 04 3–1
 * 1–0 Dimitar Berbatov ⚽ 3'
 * 1–1 Mike Hanke ⚽ 14'
 * 2–1 Marko Babić ⚽ 25'
 * 3–1 Daniel Bierofka ⚽ 57'
 * Borussia Dortmund-Bayer Leverkusen 2–2
 * 1–0 Salvatore Gambino ⚽ 29'
 * 2–0 Salvatore Gambino ⚽ 32'
 * 2–1 Oliver Neuville ⚽ 35'
 * 2–2 Marko Babić ⚽ 77'
 * Bayer Leverkusen-1860 Munich 2–2
 * 0–1 Danny Schwarz ⚽ 36'
 * 0–2 Markus Schroth ⚽ 56'
 * 1–2 Robson Ponte ⚽ 60'
 * 2–2 Lúcio ⚽ 78'
 * Köln-Bayer Leverkusen 0–0
 * Bayer Leverkusen-Werder Bremen 1–3
 * 0–1 Aílton ⚽ 42'
 * 0–2 Mladen Krstajić ⚽ 44'
 * 1–2 Jens Nowotny ⚽ 72'
 * 1–3 Krisztián Lisztes ⚽ 90'
 * Stuttgart-Bayer Leverkusen 2–3
 * 0–1 Carsten Ramelow ⚽ 23'
 * 0–2 Dimitar Berbatov ⚽ 44'
 * 1–2 Kevin Kurányi ⚽ 56'
 * 1–3 Dimitar Berbatov ⚽ 62'
 * 2–3 Zvonimir Soldo ⚽ 68'
 * Freiburg-Bayer Leverkusen 1–0
 * 1–0 Roda Antar ⚽ 54'
 * Bayer Leverkusen-Eintracht Frankfurt 1–2
 * 0–1 Ingo Hertzsch ⚽ 20'
 * 1–1 Oliver Neuville ⚽ 61'
 * 1–2 Ioannis Amanatidis ⚽ 77'
 * Hannover-Bayer Leverkusen 2–2
 * 1–0 Clint Mathis ⚽ 40'
 * 2–0 Kostas Konstantinidis ⚽ 48'
 * 2–1 Dimitar Berbatov ⚽ 65'
 * 2–2 França ⚽ 71'
 * Bayer Leverkusen-Bochum 1–3
 * 0–1 Martin Meichelbeck ⚽ 52'
 * 0–2 Dariusz Wosz ⚽ 54'
 * 1–2 Dimitar Berbatov ⚽ 60'
 * 1–3 Mamadou Diabang ⚽ 73'
 * Hamburg-Bayer Leverkusen 3–1
 * 1–0 Nico-Jan Hoogma ⚽ 10'
 * 2–0 Mehdi Mahdavikia ⚽ 18' (pen.)
 * 3–0 Bernardo Romeo ⚽ 35'
 * 3–1 Bernd Schneider ⚽ 39'
 * Bayer Leverkusen-Bayern Munich 1–3
 * 0–1 Roy Makaay ⚽ 40'
 * 0–2 Michael Ballack ⚽ 58'
 * 0–3 Roy Makaay ⚽ 78'
 * 1–3 Bernd Schneider ⚽ 90'
 * Bayer Leverkusen-Wolfsburg 4–2
 * 1–0 Dimitar Berbatov ⚽ 1'
 * 2–0 Marko Babić ⚽ 13'
 * 2–1 Marko Topić ⚽ 21'
 * 3–1 Bernd Schneider ⚽ 33'
 * 4–1 França ⚽ 63'
 * 4–2 Diego Klimowicz ⚽ 82'
 * Hansa Rostock-Bayer Leverkusen 0–2
 * 0–1 Dimitar Berbatov ⚽ 58'
 * 0–2 Marko Babić ⚽ 75'
 * Bayer Leverkusen-Hertha Berlin 4–1
 * 0–1 Marcelinho ⚽ 7'
 * 1–1 Dimitar Berbatov ⚽ 29'
 * 2–1 França ⚽ 33'
 * 3–1 França ⚽ 55'
 * 4–1 Dimitar Berbatov ⚽ 72'
 * Mönchengladbach-Bayer Leverkusen 0–0
 * Bayer Leverkusen-Kaiserslautern 6–0
 * 1–0 Timo Wenzel ⚽ 3' (o.g.)
 * 2–0 Dimitar Berbatov ⚽ 22'
 * 3–0 Teddy Lučić ⚽ 34'
 * 4–0 França ⚽ 38'
 * 5–0 Yıldıray Baştürk ⚽ 48'
 * 6–0 França ⚽ 54'
 * Schalke 04-Bayer Leverkusen 2–3
 * 0–1 Dimitar Berbatov ⚽ 30'
 * 1–1 Michael Delura ⚽ 56'
 * 1–2 Bernd Schneider ⚽ 72'
 * 1–3 Hans-Jörg Butt ⚽ 76' (pen.)
 * 2–3 Mike Hanke ⚽ 77'
 * Bayer Leverkusen-Borussia Dortmund 3–0
 * 1–0 Marko Babić ⚽ 6'
 * 2–0 França ⚽ 22'
 * 3–0 Dimitar Berbatov ⚽ 54' (pen.)
 * 1860 Munich-Bayer Leverkusen 1–1
 * 1–0 Paul Agostino ⚽ 4'
 * 1–1 Bernd Schneider ⚽ 48'
 * Bayer Leverkusen-Köln 2–0
 * 1–0 Clemens Fritz ⚽ 20'
 * 2–0 França ⚽ 73'
 * Werder Bremen-Bayer Leverkusen 2–6
 * 0–1 França ⚽ 6'
 * 0–2 Daniel Bierofka ⚽ 12'
 * 0–3 França ⚽ 21'
 * 1–3 Mladen Krstajić ⚽ 50'
 * 2–3 Aílton ⚽ 55'
 * 2–4 França ⚽ 61'
 * 2–5 Dimitar Berbatov ⚽ 65'
 * 2–6 Oliver Neuville ⚽ 81'
 * Bayer Leverkusen-Stuttgart 2–0
 * 1–0 Dimitar Berbatov ⚽ 63'
 * 2–0 Bernd Schneider ⚽ 85'

Topscorers

 * 🇧🇬 Dimitar Berbatov 16
 * 🇧🇷 França 14
 * 🇩🇪 Bernd Schneider 9
 * 🇩🇪 Oliver Neuville 6