# 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.

## Players
### First-team squad

    Squad at end of season
Note: Flags indicate national team as defined under FIFA eligibility rules. Players may hold more than one non-FIFA nationality.
| No. | Pos. | Nation | Player |
| 1 | GK | GER | Hans-Jörg Butt |
| 3 | DF | BRA | Lúcio |
| 4 | DF | BRA | Juan |
| 5 | DF | GER | Jens Nowotny |
| 6 | DF | SWE | Teddy Lučić |
| 7 | MF | BRA | Robson Ponte |
| 8 | MF | GER | Jermaine Jones |
| 9 | FW | BUL | Dimitar Berbatov |
| 10 | MF | TUR | Yıldıray Baştürk |
| 11 | FW | BRA | França |
| 13 | MF | GER | Daniel Bierofka |
| 14 | MF | GER | Hanno Balitsch |
| 16 | MF | GER | Ioannis Masmanidis |
| No. | Pos. | Nation | Player |
| 17 | DF | GER | Clemens Fritz |
| 18 | FW | GER | Kenan Şahin |
| 19 | MF | CRO | Marko Babić |
| 20 | GK | AUS | Frank Jurić |
| 21 | MF | POL | Radosław Kałużny |
| 22 | GK | GER | René Adler |
| 23 | DF | GER | Alexander Meyer |
| 25 | MF | GER | Bernd Schneider |
| 26 | MF | GER | Zoltán Sebescen |
| 27 | FW | GER | Oliver Neuville |
| 28 | MF | GER | Carsten Ramelow |
| 29 | DF | GER | Jan-Ingwer Callsen-Bracker |
| 35 | DF | ARG | Diego Placente |

### Left club during season

Note: Flags indicate national team as defined under FIFA eligibility rules. Players may hold more than one non-FIFA nationality.
| No. | Pos. | Nation | Player |
| 2 | DF | GER | Christoph Preuß (on loan from Eintracht Frankfurt) |
| 15 | DF | GER | Ingo Hertzsch (to Eintracht Frankfurt) |
| No. | Pos. | Nation | Player |
| 24 | FW | GER | Sebastian Schoof (to LR Ahlen) |
| 31 | GK | GER | Tom Starke (on loan to Hamburg) |

## Results
### 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'

## Statistics
### Topscorers

* Dimitar Berbatov 16
* França 14
* Bernd Schneider 9
* Oliver Neuville 6

## Kits

| Home | Home Alternate | Away |