The 2003–04 UEFA Champions League qualifying rounds decided 16 of the 32 teams which played in the group stage. All times are CEST (UTC+2).
Teams
| Key to colours | 
|---|
| Qualify for the group stage | 
| Eliminated in the Third qualifying round; Advanced to the UEFA Cup first round | 
First qualifying round
The draw for this round was performed on 20 June 2003 in Nyon, Switzerland.
Seeding
| Seeded | Unseeded | 
|---|---|
| 
 
  | 
 
  | 
Summary
The first legs were played on 16 July, and the second legs were played on 23 July 2003.
| Team 1 | Agg. | Team 2 | 1st leg | 2nd leg | 
|---|---|---|---|---|
| Pyunik  | 
2–1 | 1–0 | 1–1 | |
| Sheriff Tiraspol  | 
2–1 | 1–0 | 1–1 | |
| HB Tórshavn  | 
1–5 | 0–1 | 1–4 | |
| BATE Borisov  | 
1–3 | 1–0 | 0–3 | |
| Vardar  | 
4–2 | 3–0 | 1–2 | |
| Grevenmacher  | 
0–2 | 0–0 | 0–2 | |
| Glentoran  | 
0–1 | 0–0 | 0–1 | |
| Sliema Wanderers  | 
3–3 (a) | 2–0 | 1–3 | |
| Omonia  | 
2–1 | 0–0 | 2–1 | |
| Dinamo Tbilisi  | 
3–3 (2–4 p) | 3–0 | 0–3 (a.e.t.) | 
Matches
| Pyunik  | 1–0 | |
|---|---|---|
| Pachajyan  | 
Report | 
| KR Reykjavík  | 1–1 | |
|---|---|---|
| Davíðsson  | 
Report | Ag. Mkrtchyan  | 
Pyunik won 2–1 on aggregate.
| Sheriff Tiraspol  | 1–0 | |
|---|---|---|
| Tudor  | 
Report | 
| Flora Tallinn  | 1–1 | |
|---|---|---|
| Viikmäe  | 
Report | Nesteruk  | 
Sheriff Tiraspol won 2–1 on aggregate.
| HB Tórshavn  | 0–1 | |
|---|---|---|
| Report | Opic  | 
| FBK Kaunas  | 4–1 | |
|---|---|---|
| Beniušis  Kančelskis Opic  | 
Report | Jacobsen  | 
FBK Kaunas won 5–1 on aggregate.
| BATE Borisov  | 1–0 | |
|---|---|---|
| Lashankow  | 
Report | 
Bohemians won 3–1 on aggregate.
| Vardar  | 3–0 | |
|---|---|---|
| Wandeir  Ristovski  | 
Report | 
Vardar won 4–2 on aggregate.
| Grevenmacher  | 0–0 | |
|---|---|---|
| Report | 
| Leotar  | 2–0 | |
|---|---|---|
| Kerkez  | 
Report | 
Leotar won 2–0 on aggregate.
| HJK Helsinki  | 1–0 | |
|---|---|---|
| Mäkelä  | 
Report | 
HJK Helsinki won 1–0 on aggregate.
| Sliema Wanderers  | 2–0 | |
|---|---|---|
| Bogdanović  Dončić  | 
Report | 
| Skonto  | 3–1 | |
|---|---|---|
| Buitkus  Verpakovskis Dedura  | 
Report | Brincat  | 
3–3 on aggregate. Sliema Wanderers won on away goals rule.
Omonia won 2–1 on aggregate.
| Dinamo Tbilisi  | 3–0 | |
|---|---|---|
| Melkadze  Anchabadze Daraselia  | 
Report | 
| Tirana  | 3–0 (a.e.t.) | |
|---|---|---|
| Liçi  Fortuzi Halili  | 
Report | |
| Penalties | ||
| Patushi  Liçi Dede Halili  | 
4–2 | |
3–3 on aggregate. Tirana won 4–2 on penalties.
Second qualifying round
The draw for this round was performed on 20 June 2003 in Nyon, Switzerland.
Seeding
| Seeded | Unseeded | ||
|---|---|---|---|
| 
 
  | 
 
  | 
 
  | 
 
  | 
- Notes
 
-  † Winners of the previous qualifying round whose identity was not known at the time of the draw. Teams in italics defeated a team with a higher coefficient in the previous qualifying round, thus effectively taking the coefficient of their defeated opponent in the draw for this round.
 
Summary
The first legs were played on 30 July, and the second legs were played on 6 August 2003.
| Team 1 | Agg. | Team 2 | 1st leg | 2nd leg | 
|---|---|---|---|---|
| MTK Hungária  | 
3–2 | 3–1 | 0–1 | |
| Pyunik  | 
0–3 | 0–2 | 0–1 | |
| FBK Kaunas  | 
0–5 | 0–4 | 0–1 | |
| Leotar  | 
1–4 | 1–2 | 0–2 | |
| Sheriff Tiraspol  | 
0–2 | 0–0 | 0–2 | |
| Žilina  | 
2–1 | 1–0 | 1–1 | |
| Bohemians  | 
0–5 | 0–1 | 0–4 | |
| Maribor  | 
2–3 | 1–1 | 1–2 | |
| CSKA Moscow  | 
2–3 | 1–2 | 1–1 | |
| Rapid București  | 
2–3 | 0–0 | 2–3 | |
| Partizan  | 
3–3 (a) | 1–1 | 2–2 | |
| Wisła Kraków  | 
7–4 | 5–2 | 2–2 | |
| Copenhagen  | 
10–1 | 4–1 | 6–0 | |
| Tirana  | 
2–7 | 1–5 | 1–2 | 
Matches
| MTK Hungária  | 3–1 | |
|---|---|---|
| Welton  Rednic  | 
Report | Kottila  | 
| HJK Helsinki  | 1–0 | |
|---|---|---|
| Mäkelä  | 
Report | 
MTK Hungária won 3–2 on aggregate.
| Pyunik  | 0–2 | |
|---|---|---|
| Report | Yanchev  Mukasi  | 
| CSKA Sofia  | 1–0 | |
|---|---|---|
| Léo Lima  | 
Report | 
CSKA Sofia won 3–0 on aggregate.
| Celtic  | 1–0 | |
|---|---|---|
| Gvildys  | 
Report | 
Celtic won 5–0 on aggregate.
| Slavia Prague  | 2–0 | |
|---|---|---|
| Kuka  Skácel  | 
Report | 
Slavia Prague won 4–1 on aggregate.
| Shakhtar Donetsk  | 2–0 | |
|---|---|---|
| Vukić  Brandão  | 
Report | 
Shakhtar Donetsk won 2–0 on aggregate.
| Žilina  | 1–0 | |
|---|---|---|
| Bažík  | 
Report | 
| Maccabi Tel Aviv  | 1–1 | |
|---|---|---|
| Paintsil  | 
Report | Sninský  | 
Žilina won 2–1 on aggregate.
Rosenborg won 5–0 on aggregate.
| Maribor  | 1–1 | |
|---|---|---|
| Pekič  | 
Report | Kranjčar  | 
Dinamo Zagreb won 3–2 on aggregate.
| CSKA Moscow  | 1–2 | |
|---|---|---|
| Samodin  | 
Report | Grozdanoski  Wandeir  | 
| Vardar  | 1–1 | |
|---|---|---|
| Wandeir  | 
Report | Gogniyev  | 
Vardar won 3–2 on aggregate.
| Anderlecht  | 3–2 | |
|---|---|---|
| Jestrović  Zetterberg Seol  | 
Report | Ilyés  Bratu  | 
Anderlecht won 3–2 on aggregate.
| Partizan  | 1–1 | |
|---|---|---|
| Ilić  | 
Report | Makondele  | 
3–3 on aggregate. Partizan won on away goals rule.
| Wisła Kraków  | 5–2 | |
|---|---|---|
| Żurawski  Frankowski Baszczyński Dubicki  | 
Report | Rauffmann  | 
| Omonia  | 2–2 | |
|---|---|---|
| Rauffmann  Charalambous  | 
Report | Żurawski  | 
Wisła Kraków won 7–4 on aggregate.
| Copenhagen  | 4–1 | |
|---|---|---|
| Zuma  Røll Jónsson  | 
Report | Dončić  | 
| Sliema Wanderers  | 0–6 | |
|---|---|---|
| Report | Jónsson  Nørregaard Chetcuti Zuma Røll  | 
Copenhagen won 10–1 on aggregate.
Grazer AK won 7–2 on aggregate.
Third qualifying round
The draw for this round was performed on 25 July 2003 in Nyon, Switzerland.
Seeding
| Seeded | Unseeded | ||
|---|---|---|---|
| 
 
  | 
 
  | 
 
  | 
 
  | 
- Notes
 
-  † Winners of the previous qualifying round whose identity was not known at the time of the draw. Teams in italics defeated a team with a higher coefficient in the previous qualifying round, thus effectively taking the coefficient of their defeated opponent in the draw for this round.
 
Summary
The first legs were played on 12 and 13 August, and the second legs were played on 26 and 27 August 2003.
| Team 1 | Agg. | Team 2 | 1st leg | 2nd leg | 
|---|---|---|---|---|
| Vardar  | 
4–5 | 2–3 | 2–2 | |
| MTK Hungária  | 
0–5 | 0–4 | 0–1 | |
| Rangers  | 
3–2 | 1–1 | 2–1 | |
| Austria Wien  | 
0–1 | 0–1 | 0–0 | |
| Club Brugge  | 
3–3 (4–2 p) | 2–1 | 1–2 (a.e.t.) | |
| Shakhtar Donetsk  | 
2–3 | 1–0 | 1–3 | |
| Lazio  | 
4–1 | 3–1 | 1–0 | |
| Dynamo Kyiv  | 
5–1 | 3–1 | 2–0 | |
| Rosenborg  | 
0–1 | 0–0 | 0–1 | |
| Grasshopper  | 
2–3 | 1–0 | 1–3 | |
| Žilina  | 
0–5 | 0–2 | 0–3 | |
| Celta Vigo  | 
3–2 | 3–0 | 0–2 | |
| Partizan  | 
1–1 (4–3 p) | 0–1 | 1–0 (a.e.t.) | |
| Galatasaray  | 
6–0 | 3–0 | 3–0 | |
| Anderlecht  | 
4–1 | 3–1 | 1–0 | |
| Grazer AK  | 
2–3 | 1–1 | 1–2 (a.e.t.) | 
Matches
| Vardar  | 2–3 | |
|---|---|---|
| Rogério  Georgievski  | 
Report | Poborský  Gluščević  | 
| Sparta Prague  | 2–2 | |
|---|---|---|
| Poborský  Sionko  | 
Report | Georgievski  Chinedu  | 
Sparta Prague won 5–4 on aggregate.
| Celtic  | 1–0 | |
|---|---|---|
| Sutton  | 
Report | 
Celtic won 5–0 on aggregate.
| Rangers  | 1–1 | |
|---|---|---|
| Løvenkrands  | 
Report | Jónsson  | 
Rangers won 3–2 on aggregate.
| Austria Wien  | 0–1 | |
|---|---|---|
| Report | Sychev  | 
Marseille won 1–0 on aggregate.
| Club Brugge  | 2–1 | |
|---|---|---|
| Čeh  Verheyen  | 
Report | Amoroso  | 
| Borussia Dortmund  | 2–1 (a.e.t.) | |
|---|---|---|
| Amoroso  Ewerthon  | 
Report | Mendoza  | 
| Penalties | ||
| Amoroso  Bergdølmo Koller Fernández  | 
2–4 | |
3–3 on aggregate. Club Brugge won 4–2 on penalties.
| Shakhtar Donetsk  | 1–0 | |
|---|---|---|
| Vukić  | 
Report | 
| Lokomotiv Moscow  | 3–1 | |
|---|---|---|
| Ashvetia  Ignashevich  | 
Report | Lewandowski  | 
Lokomotiv Moscow won 3–2 on aggregate.
Lazio won 4–1 on aggregate.
| Dynamo Kyiv  | 3–1 | |
|---|---|---|
| Fedorov  Leko Husyev  | 
Report | Kranjčar  | 
| Dinamo Zagreb  | 0–2 | |
|---|---|---|
| Report | Shatskikh  Diogo Rincón  | 
Dynamo Kyiv won 5–1 on aggregate.
| Deportivo La Coruña  | 1–0 | |
|---|---|---|
| Luque  | 
Report | 
Deportivo La Coruña won 1–0 on aggregate.
| Grasshopper  | 1–0 | |
|---|---|---|
| Núñez  | 
Report | 
| AEK Athens  | 3–1 | |
|---|---|---|
| Katsouranis  Liberopoulos Castillo  | 
Report | Núñez  | 
AEK Athens won 3–2 on aggregate.
Chelsea won 5–0 on aggregate.
| Celta Vigo  | 3–0 | |
|---|---|---|
| Mostovoi  Jesuli Edu  | 
Report | 
| Slavia Prague  | 2–0 | |
|---|---|---|
| Skácel  Hrdlička  | 
Report | 
Celta Vigo won 3–2 on aggregate.
| Partizan  | 0–1 | |
|---|---|---|
| Report | Solano  | 
| Newcastle United  | 0–1 (a.e.t.) | |
|---|---|---|
| Report | Iliev  | 
|
| Penalties | ||
| Shearer  Dyer Woodgate Amoebi LuaLua Jenas Hughes  | 
3–4 | |
1–1 on aggregate. Partizan won 4–3 on penalties.
| Galatasaray  | 3–0 | |
|---|---|---|
| Hasan Şaş  Hakan Şükür Arif  | 
Report | 
| CSKA Sofia  | 0–3 | |
|---|---|---|
| Report | César Prates  Sabri Arif  | 
Galatasaray won 6–0 on aggregate.
| Anderlecht  | 3–1 | |
|---|---|---|
| Jestrović  Lovre Dindane  | 
Report | Żurawski  | 
| Wisła Kraków  | 0–1 | |
|---|---|---|
| Report | Dindane  | 
Anderlecht won 4–1 on aggregate.
Ajax won 3–2 on aggregate. Ajax won on silver goal after extra time.
Notes
- ↑ KR Reykjavík played their home match at Laugardalsvöllur in Reykjavík, instead of their regular venue KR-völlur in Reykjavík.
 - ↑ HB Tórshavn played their home match at Tórsvøllur stadium, instead of their regular home venue Gundadalur stadium.
 - ↑ Grevenmacher played their home match at Stade Josy Barthel in Luxembourg, instead of their regular home venue Op Flohr Stadion in Grevenmacher.
 - 1 2 HJK Helsinki played their home matches at ISS Stadion in Vantaa, instead of their regular venue Finnair Stadium in Helsinki.
 - ↑ Dinamo Tbilisi played behind closed doors as UEFA prohibiting any spectrators cause in previous season in Tbilisi was riots in match against Slovan.
 - ↑ Maccabi Tel Aviv played their home match at Szusza Ferenc Stadion in Budapest, Hungary instead of their regular venue Bloomfield Stadium in Tel Aviv for security reasons.[1]
 - ↑ Rapid București played their home match at Stadionul Național, instead of their regular venue Stadionul Giulești.
 - ↑ Djurgården played their home match at Råsunda Stadium in Solna, as their regular home venue Stockholm Olympic Stadium did not meet UEFA criteria.
 - ↑ Benfica played their home match at Estádio do Bessa in Porto, as their temporary home venue Estádio Nacional in Lisbon did not meet UEFA criteria.