El G. N. K. Dinamo Zagreb ha participado en varias competiciones europeas organizadas por la UEFA desde que lo hiciera por primera vez en 1958, con lo que fue el tercer equipo de la desaparecida Yugoslavia en participar en la Copa de Europa.
Su primer partido oficial lo jugó ante el desaparecido F. K. Dukla Praga de la antigua Checoslovaquia, el cual terminó 2-2 en el que Luka Lipošinović se convirtió en el primer jugador del club en anotar en competiciones europeas.
Es el único equipo de Croacia en ganar un torneo europeo, al ganar la Copa de Ferias en la temporada 1966-67 al vencer en la final al Leeds United de Inglaterra 2-0 en el marcador global.
Resultados
TemporadaTorneoRondaClubCasaVisitaGlobal 1958–59 Copa de Europa Clasificatoria Dukla Praga2–21–2 3–41960–61Recopa de Europa Clasificatoria RH Brno2–00–0 2–0 Semifinales Fiorentina2–10–3 2–41961–62Copa de Ferias 1 Stævnet2–27–2 9–4 2 Barcelona2–21–5 3–71962–63Copa de Ferias 1 Porto0–02–1 2–1 2 Union Saint-Gilloise2–10–1 2–2, <small>( 3–2) Cuartos de final Bayern Múnich0–04–1 4–1 Semifinales Ferencvárosi2–11–0 3–1Subcampeón Valencia1–20–2 1–41963–64Recopa de Europa Clasificatoria Linzer ASK1–00–1 1–1, <small>( 1–1) 1 Celtic2–10–3 2–41964–65Recopa de Europa 1 AEK Atenas3–00–2 3–2 2 Steaua de Bucarest2–03–1 5–1 Cuartos de final Torino1–21–1 2–3 1965–66 Recopa de Europa 1 Atlético de Madrid0–10–4 0–51966–67Copa de Ferias 1 Spartak Brno2–00–2 2–2 <small>() 2 Dunfermline Athletic2–02–4 4–4 <small>(v.) 3 Dinamo Piteşti0–01–0 1–0 Cuartos de final Juventus3–02–2 5–2 Semifinales Eintracht Frankfurt4–00–3 4–3Campeón | align="left" | Leeds United | bgcolor="#ddffdd"|2–0 | bgcolor="#ffffdd"|0–0 | 2–0 |- | rowspan=2|1967–68 | rowspan=2|Copa de Ferias | 1 | align="left" | Petrolul Ploieşti | bgcolor="#ddffdd"|5–0 | bgcolor="#ffdddd"|0–2 | 5–2 |- | 2 | align="left" | Bologna | bgcolor="#ffdddd"|1–2 | bgcolor="#ffffdd"|0–0 | 1–2 |-bgcolor=#EEEEEE | 1968–69 | Copa de Ferias | 1 | align="left" | Fiorentina | bgcolor="#ffffdd"|1–1 | bgcolor="#ffdddd"|1–2 | 2–3 |- | rowspan=3|1969–70 | rowspan=3|Recopa de Europa | 1 | align="left" | Slovan Bratislava | bgcolor="#ddffdd"|3–0 | bgcolor="#ffffdd"|0–0 | 3–0 |- | 2 | align="left" | Olympique de Marsella | bgcolor="#ddffdd"|2–0 | bgcolor="#ffffdd"|1–1 | 3–1 |- | Cuartos de final | align="left" | Schalke 04 | bgcolor="#ffdddd"|1–3 | bgcolor="#ffdddd"|0–1 | 1–4 |- | rowspan=3|1970–71 | rowspan=3|Copa de Ferias | 1 | align="left" | Barreirense | bgcolor="#ddffdd"|6–1 | bgcolor="#ffdddd"|0–2 | 6–3 |- | 2 | align="left" | Hamburgo | bgcolor="#ddffdd"|4–0 | bgcolor="#ffdddd"|0–1 | 4–1 |- | 3 | align="left" | Twente | bgcolor="#ffffdd"|2–2 | bgcolor="#ffdddd"|0–1 | 2–3 |-bgcolor=#EEEEEE | rowspan=2|1971–72 | rowspan=2|Copa de la UEFA | 1 | align="left" | Botev Vratsa | bgcolor="#ddffdd"|6–1 | bgcolor="#ddffdd"|2–1 | 8–2 |-bgcolor=#EEEEeE | 2 | align="left" | Rapid Viena | bgcolor="#ffffdd"|2–2 | bgcolor="#ffffdd"|0–0 | 2–2 <small>(v.) |- | 1973–74 | Recopa de Europa | 1 | align="left" | Milan | bgcolor="#ffdddd"|1–3 | bgcolor="#ffdddd"|0–1 | 1–4 |-bgcolor=#EEEEEE | rowspan=2|1976–77 | rowspan=2|Copa de la UEFA | 1 | align="left" | ASA Târgu Mureş | bgcolor="#ddffdd"|3–0 | bgcolor="#ddffdd"|1–0 | 4–0 |-bgcolor=#EEEEEE | 2 | align="left" | Magdeburgo | bgcolor="#ffffdd"|2–2 | bgcolor="#ffdddd"|0–2 | 2–4 |- | rowspan=2|1977–78 | rowspan=2|Copa de la UEFA | 1 | align="left" | Olympiacos | bgcolor="#ddffdd"|5–1 | bgcolor="#ffdddd"|1–3 | 6–4 |- | 2 | align="left" | Torino | bgcolor="#ddffdd"|1–0 | bgcolor="#ffdddd"|1–3 | 2–3 |-bgcolor=#EEEEEE | 1979–80 | Copa de la UEFA | 1 | align="left" | Perugia | bgcolor="#ffffdd"|0–0 | bgcolor="#ffdddd"|0–1 | 0–1 |- | 1980–81 | Recopa de Europa | 1 | align="left" | Benfica | bgcolor="#ffffdd"|0–0 | bgcolor="#ffdddd"|0–2 | 0–2 |-bgcolor=#EEEEEE | 1982–83 | Copa de Europa | 1 | align="left" | Sporting de Lisboa | bgcolor="#ddffdd"|1–0 | bgcolor="#ffdddd"|0–3 | 1–3 |- | 1983–84 | Recopa de Europa | 1 | align="left" | Porto | bgcolor="#ddffdd"|2–1 | bgcolor="#ffdddd"|0–1 | 2–2 <small>(v.) |-bgcolor=#EEEEEE | rowspan=2|1988–89 | rowspan=2|Copa de la UEFA | 1 | align="left" | Beşiktaş | bgcolor="#ddffdd"|2–0 | bgcolor="#ffdddd"|0–1 | 2–1 |-bgcolor=#EEEEEE | 2 | align="left" | VfB Stuttgart | bgcolor="#ffdddd"|1–3 | bgcolor="#ffffdd"|1–1 | 2–4 |- | 1989–90 | Copa de la UEFA | Clasificatoria | align="left" | Auxerre | bgcolor="#ffdddd"|1–3 | bgcolor="#ddffdd"|1–0 | 2–3 |- | 1990–91 | Copa de la UEFA | 1 | align="left" | Atalanta | bgcolor="#ffffdd"|1–1 | bgcolor="#ffffdd"|0–0 | 1–1 <small>(v.) |-bgcolor=#EEEEEE | 1991–92 | Copa de la UEFA | 1 | align="left" | Trabzonspor | bgcolor="#ffdddd"|2–3 | bgcolor="#ffffdd"|1–1 | 3–4 |- | rowspan=2|1993–94 | rowspan=2|Liga de Campeones de la UEFA | Preliminar | align="left" | B68 | bgcolor="#ddffdd"|6–0 | bgcolor="#ddffdd"|5–0 | 11–0 |- | 1 | align="left" | Steaua de Bucarest | bgcolor="#ffdddd"|2–3 | bgcolor="#ddffdd"|2–1 | 4–4 <small>(v.) |-bgcolor=#EEEEEE | 1994–95 | Recopa de Europa | 1 | align="left" | Auxerre | bgcolor="#ddffdd"|3–1 | bgcolor="#ffdddd"|0–3 | 3–4 |- | rowspan=2|1996–97 | rowspan=2|Copa de la UEFA | Preliminar | align="left" | KF Tirana | bgcolor="#ddffdd"|4–0 | bgcolor="#ddffdd"|6–2 | 10–2 |- | Clasificatoria | align="left" | Spartak de Moscú | bgcolor="#ddffdd"|3–1 | bgcolor="#ffdddd"|0–2 | 3–3 <small>(v.) |-bgcolor=#EEEEEE | rowspan=5|1997–98 | rowspan=2|Liga de Campeones de la UEFA | 1.ª Clasificatoria | align="left" | Partizan Belgrado | bgcolor="#ddffdd"|5–0 | bgcolor="#ffdddd"|0–1 | 5–1 |-bgcolor=#EEEEEE | 2.ª Clasificatoria | align="left" | Newcastle United | bgcolor="#ffffdd"|2–2 <small>(pró.) | bgcolor="#ffdddd"|1–2 | 3–4 |-bgcolor=#EEEEEE | rowspan=3|Copa de la UEFA | 1 | align="left" | Grasshopper | bgcolor="#ffffdd"|4–4 | bgcolor="#ddffdd"|5–0 | 9–4 |-bgcolor=#EEEEEE | 2 | align="left" | MTK Budapest | bgcolor="#ddffdd"|2–0 | bgcolor="#ffdddd"|0–1 | 2–1 |-bgcolor=#EEEEEE | 3 | align="left" | Atlético de Madrid | bgcolor="#ffffdd"|1–1 | bgcolor="#ffdddd"|0–1 | 1–2 |- | rowspan=4|1998–99 | rowspan=4|Liga de Campeones de la UEFA | 2.ª Clasificatoria | align="left" | Celtic | bgcolor="#ddffdd"|3–0 | bgcolor="#ffdddd"|0–1 | 3–1 |- | rowspan=3|Grupos | align="left" | Ajax Ámsterdam | bgcolor="#ffffdd"|0–0 | bgcolor="#ddffdd"|1–0 | rowspan=3|2.º Lugar |- | align="left" | Olympiacos | bgcolor="#ffffdd"|1–1 | bgcolor="#ffdddd"|0–2 |- | align="left" | Porto | bgcolor="#ddffdd"|3–1 | bgcolor="#ffdddd"|0–3 |-bgcolor=#EEEEEE | rowspan=4|1999–2000 | rowspan=4|Liga de Campeones de la UEFA | 3.ª Clasificatoria | align="left" | MTK Budapest | bgcolor="#ffffdd"|0–0 | bgcolor="#ddffdd"|2–0 | 2–0 |-bgcolor=#EEEEEE | rowspan=3|Grupos | align="left" | Manchester United | bgcolor="#ffdddd"|1–2 | bgcolor="#ffffdd"|0–0 | rowspan=3|4.º Lugar |-bgcolor=#EEEEEE | align="left" | Olympique de Marsella | bgcolor="#ffdddd"|1–2 | bgcolor="#ffffdd"|2–2 |-bgcolor=#EEEEEE | align="left" | Sturm Graz | bgcolor="#ddffdd"|3–0 | bgcolor="#ffdddd"|0–1 |- | rowspan=3|2000–01 | Liga de Campeones de la UEFA | 3.ª Clasificatoria | align="left" | Milan | bgcolor="#ffdddd"|0–3 | bgcolor="#ffdddd"|1–3 | 1–6 |- | rowspan=2|Copa de la UEFA | 1 | align="left" | Slovan Bratislava | bgcolor="#ffffdd"|1–1 | bgcolor="#ddffdd"|3–0 | 4–1 |- | 2 | align="left" | Parma | bgcolor="#ddffdd"|1–0 | bgcolor="#ffdddd"|0–2 | 1–2 |-bgcolor=#EEEEEE | rowspan=2|2001–02 | rowspan=2|Copa de la UEFA | Clasificatoria | align="left" | Flora Tallinn | bgcolor="#ddffdd"|1–0 | bgcolor="#ddffdd"|1–0 | 2–0 |-bgcolor=#EEEEEE | 1 | align="left" | Maccabi Tel Aviv | bgcolor="#ffffdd"|2–2 | bgcolor="#ffffdd"|1–1 | 3–3 <small>(v.) |- | rowspan=2|2002–03 | rowspan=2|Copa de la UEFA | 1 | align="left" | Zalaegerszeg | bgcolor="#ddffdd"|6–0 | bgcolor="#ddffdd"|3–1 | 9–1 |- | 2 | align="left" | Fulham | bgcolor="#ffdddd"|0–3 | bgcolor="#ffdddd"|1–2 | 1–5 |-bgcolor=#EEEEEE | rowspan=4|2003–04 | rowspan=2|Liga de Campeones de la UEFA | 2.ª Clasificatoria | align="left" | Maribor | bgcolor="#ddffdd"|2–1 | bgcolor="#ffffdd"|1–1 | 3–2 |-bgcolor=#EEEEEE | 3.ª Clasificatoria | align="left" | Dinamo de Kiev | bgcolor="#ffdddd"|0–2 | bgcolor="#ffdddd"|1–3 | 1–5 |-bgcolor=#EEEEEE | rowspan=2|Copa de la UEFA | 1 | align="left" | MTK Budapest | bgcolor="#ddffdd"|3–1 | bgcolor="#ffffdd"|0–0 | 3–1 |-bgcolor=#EEEEEE | 2 | align="left" | Dnipro Dnipropetrovsk | bgcolor="#ffdddd"|0–2 | bgcolor="#ffffdd"|1–1 | 1–3 |- | rowspan=6|2004–05 | rowspan=6|Copa de la UEFA | 2.ª Clasificatoria | align="left" | Primorje | bgcolor="#ddffdd"|4–0 | bgcolor="#ffdddd"|0–2 | 4–2 |- | 1 | align="left" | IF Elfsborg | bgcolor="#ddffdd"|2–0 | bgcolor="#ffffdd"|0–0 | 2–0 |- | rowspan=4|Fase de grupos | align="left" | Beveren | bgcolor="#ddffdd"|6–1
| rowspan=4|4.º lugar |- | align="left" | Benfica
| bgcolor="#ffdddd"|0–2 |- | align="left" | Heerenveen | bgcolor="#ffffdd"|2–2
| align="left" | VfB Stuttgart
| bgcolor="#ffdddd"|1–2 |-bgcolor=#EEEEEE | rowspan=3|2006–07 | rowspan=2|Liga de Campeones de la UEFA | 2.ª Clasificatoria | align="left" | Ekranas | bgcolor="#ddffdd"|5–2 | bgcolor="#ddffdd"|4–1 | 9–3 |-bgcolor=#EEEEEE | 3.ª Clasificatoria | align="left" | Arsenal | bgcolor="#ffdddd"|0–3 | bgcolor="#ffdddd"|1–2 | 1–5 |-bgcolor=#EEEEEE | Copa de la UEFA | 1 | align="left" | Auxerre | bgcolor="#ffdddd"|1–2 | bgcolor="#ffdddd"|1–3 | 2–5 |- | rowspan=8|2007–08 | rowspan=3|Liga de Campeones de la UEFA | 1.ª Clasificatoria | align="left" | Khazar Lankaran | bgcolor="#ddffdd"|3–1 | bgcolor="#ffffdd"|1–1 | 4–2 |- | 2.ª Clasificatoria | align="left" | Domžale | bgcolor="#ddffdd"|3–1 | bgcolor="#ddffdd"|2–1 | 5–2 |- | 3.ª Clasificatoria | align="left" | Werder Bremen | bgcolor="#ffdddd"|2–3 | bgcolor="#ffdddd"|1–2 | 3–5 |- | rowspan=5|Copa de la UEFA | 1 | align="left" | Ajax Ámsterdam | bgcolor="#ffdddd"|0–1 | bgcolor="#ddffdd"|3–2 | 3–3 <small>(v.) |- | rowspan=4|Fase de grupos | align="left" | Basel | bgcolor="#ffffdd"|0–0
| rowspan=4|4.º Lugar |- | align="left" | Brann
| bgcolor="#ffdddd"|1–2 |- | align="left" | Hamburgo | bgcolor="#ffdddd"|0–2
| align="left" | Stade Rennais
| bgcolor="#ffffdd"|1–1 |-bgcolor=#EEEEEE | rowspan=8|2008–09 | rowspan=3|Liga de Campeones de la UEFA | 1.ª Clasificatoria | align="left" | Linfield | bgcolor="#ffffdd"|1–1 | bgcolor="#ddffdd"|2–0 | 3–1 |-bgcolor=#EEEEEE | 2.ª Clasificatoria | align="left" | Domžale | bgcolor="#ddffdd"|3–2 | bgcolor="#ddffdd"|3–0 | 6–2 |-bgcolor=#EEEEEE | 3.ª Clasificatoria | align="left" | Shakhtar Donetsk | bgcolor="#ffdddd"|1–3 | bgcolor="#ffdddd"|0–2 | 1–5 |-bgcolor=#EEEEEE | rowspan=5|Copa de la UEFA | 1 | align="left" | Sparta Praga | bgcolor="#ffffdd"|0–0 | bgcolor="#ffffdd"|3–3 | 3–3 <small>(v.) |-bgcolor=#EEEEEE | rowspan=4|Fase de grupos | align="left" | NEC Nijmegen | bgcolor="#ddffdd"|3–2
| rowspan=4|5.º lugar |-bgcolor=#EEEEEE | align="left" | Tottenham Hotspur
| bgcolor="#ffdddd"|0–4 |-bgcolor=#EEEEEE | align="left" | Spartak de Moscú | bgcolor="#ffdddd"|0–1
|-bgcolor=#EEEEEE | align="left" | Udinese
| bgcolor="#ffdddd"|1–2 |- | rowspan=6|2009–10 | rowspan=2|Liga de Campeones de la UEFA | 2.ª Clasificatoria | align="left" | Pyunik | bgcolor="#ddffdd"|3–0 | bgcolor="#ffffdd"|0–0 | 3–0 |- | 3.ª Clasificatoria | align="left" | Red Bull Salzburgo | bgcolor="#ffdddd"|1–2 | bgcolor="#ffffdd"|1–1 | 2–3 |- | rowspan=4|Liga Europa de la UEFA | Play-Off | align="left" | Heart of Midlothian | bgcolor="#ddffdd"|4–0 | bgcolor="#ffdddd"|0–2 | 4–2 |- | rowspan=3|Fase de grupos | align="left" | Ajax Ámsterdam | bgcolor="#ffdddd"|0–2 | bgcolor="#ffdddd"|1–2 | rowspan=3|3.º lugar |- | align="left" | Anderlecht | bgcolor="#ffdddd"|0–2 | bgcolor="#ddffdd"|1–0 |- | align="left" | Timişoara | bgcolor="#ffdddd"|1–2 | bgcolor="#ddffdd"|3–0 |- | rowspan=6|2010–11 | rowspan=2|Liga de Campeones de la UEFA | 2.ª Clasificatoria | align="left" | Koper | bgcolor="#ddffdd"|5–1 | bgcolor="#ffdddd"|0–3 | 5–4 |- | 3.ª Clasificatoria | align="left" | Sheriff Tiraspol