1. HNL 2004./05. (Prva hrvatska nogometna liga 2004./05.) je bilo četrnaesto po redu nogometno natjecanje I. razreda u samostalnoj Hrvatskoj koje je organizirao Hrvatski nogometni savez.
Natjecanje je započelo 24. srpnja 2004. godine, a završilo 28. svibnja 2005. godine.
Lokacija klubova u sezoni 2004–05 Prve HNL
1. kolo, 24. srpnja 2004.
Hajduk – Pula 1856
1:1
Zagreb – Inter
0:1
Međimurje – Rijeka
1:2
Kamen Ingrad – Varteks
3:2
Sl. Belupo – Osijek
1:2
Zadar – Dinamo
3:4
2. kolo, 31. srpnja 2004.
Pula 1856 – Dinamo
3:3
Osijek – Zadar
3:1
Varteks – Sl. Belupo
6:0
Rijeka – Kam. Ingrad
2:1
Inter – Međimurje
3:0
Hajduk – Zagreb
2:4
3. kolo, 7. kolovoza 2004.
Zagreb – Pula 1856
2:0
Međimurje – Hajduk
1:3
Kam. Ingrad – Inter
0:1
Sl. Belupo – Rijeka
0:0
Zadar – Varteks
3:1
Dinamo – Osijek
0:0
4. kolo, 14. kolovoza 2004.
Pula 1856 – Osijek
2:0
Varteks – Dinamo
2:2
Rijeka – Zadar
2:0
Inter – Sl. Belupo
2:0
Hajduk – Kam. Ingrad
2:0
Zagreb – Međimurje
0:1
5. kolo, 21. kolovoza 2004.
Međimurje – Pula 1856
1:1
Kam. Ingrad – Zagreb
4:1
Sl. Belupo – Hajduk
1:0
Zadar – Inter
0:2
Dinamo – Rijeka
1:1
Osijek – Varteks
1:3
6. kolo, 28. kolovoza 2004.
Pula 1856 – Varteks
3:0
Rijeka – Osijek
4:0
Inter – Dinamo
1:0
Hajduk – Zadar
4:0
Zagreb – Sl. Belupo
0:2
Međimurje – Kam. Ingrad
1:4
7. kolo, 11. rujna 2004.
Kam. Ingrad – Pula 1856
1:0
Sl. Belupo – Međimurje
2:0
Zadar – Zagreb
2:1
Dinamo – Hajduk
3:0
Osijek – Inter
2:0
Varteks – Rijeka
2:0
8. kolo, 18. rujna 2004.
Pula 1856 – Rijeka
0:0
Inter – Varteks
3:2
Hajduk – Osijek
1:1
Zagreb – Dinamo
2:1
Međimurje – Zadar
4:0
Kam. Ingrad – Sl. Belupo
2:0
9. kolo, 25. rujna 2004.
Sl. Belupo – Pula 1856
1:0
Zadar – Kam. Ingrad
2:1
Dinamo – Međimurje
4:1
Osijek – Zagreb
1:1
Varteks – Hajduk
0:4
Rijeka – Inter
2:0
10. kolo, 2. listopada 2004.
Pula 1856 – Inter
1:1
Hajduk – Rijeka
2:0
Zagreb – Varteks
0:1
Međimurje – Osijek
2:2
Kam. Ingrad – Dinamo
0:0
Sl. Belupo – Zadar
1:0
11. kolo, 16. listopada 2004.
Zadar – Pula 1856
3:0
Dinamo – Sl. Belupo
1:2
Osijek – Kam. Ingrad
2:0
Varteks – Međimurje
5:0
Rijeka – Zagreb
2:1
Inter – Hajduk
1:3
12. kolo, 23. listopada 2004.
Pula 1856 – Hajduk
0:1
Inter – Zagreb
1:0
Rijeka – Međimurje
3:1
Varteks – Kam. Ingrad
3:0
Osijek – Sl. Belupo
1:1
Dinamo – Zadar
2:1
13. kolo, 30. listopada 2004.
Dinamo – Pula 1856
3:0
Zadar – Osijek
2:4
Sl. Belupo – Varteks
0:1
Kam. Ingrad – Rijeka
3:2
Međimurje – Inter
0:0
Zagreb – Hajduk
2:0
14. kolo, 6. studenog 2004.
Pula 1856 – Zagreb
1:1
Hajduk – Međimurje
2:0
Inter – Kam. Ingrad
0:0
Rijeka – Sl. Belupo
1:1
Varteks – Zadar
3:0
Osijek – Dinamo
1:1
15. kolo, 13. studenog 2004.
Osijek – Pula 1856
2:1
Dinamo – Varteks
2:1
Zadar – Rijeka
2:2
Sl. Belupo – Inter
2:1
Kam. Ingrad – Hajduk
2:1
Međimurje – Zagreb
0:1
16. kolo, 20. studenog 2004.
Pula 1856 – Međimurje
2:1
Zagreb – Kam. Ingrad
1:0
Hajduk – Sl. Belupo
2:1
Inter – Zadar
4:1
Rijeka – Dinamo
4:2
Varteks – Osijek
4:0
17. kolo, 27. studenog 2004.
Varteks – Pula 1856
1:0
Osijek – Rijeka
1:1
Dinamo – Inter
2:0
Zadar – Hajduk
1:3
Sl. Belupo – Zagreb
1:1
Kam. Ingrad – Međimurje
2:0
18. kolo, 4. prosinca 2004.
Pula 1856 – Kam. Ingrad
1:0
Međimurje – Sl. Belupo
0:1
Zagreb – Zadar
4:1
Hajduk – Dinamo
1:0
Inter – Osijek
1:3
Rijeka – Varteks
3:0
19. kolo, 26. veljače 2005.
Rijeka – Pula 1856
1:1
Varteks – Inter
0:1
Osijek – Hajduk
2:2
Dinamo – Zagreb
1:2
Zadar – Međimurje
2:1
Sl. Belupo – Kam. Ingrad
4:1
20. kolo, 5. ožujka 2005.
Pula 1856 – Sl. Belupo
2:0
Kam. Ingrad – Zadar
2:0
Međimurje – Dinamo
1:3
Zagreb – Osijek
1:0
Hajduk – Varteks
3:1
Inter – Rijeka
2:2
21. kolo, 12. ožujka 2005.
Inter – Pula 1856
0:0
Rijeka – Hajduk
2:0
Varteks – Zagreb
1:0
Osijek – Međimurje
0:0
Dinamo – Kam. Ingrad
2:1
Zadar – Sl. Belupo
1:5
22. kolo, 19. ožujka 2005.
Pula 1856 – Zadar
2:0
Sl. Belupo – Dinamo
3:1
Kam. Ingrad – Osijek
3:1
Međimurje – Varteks
2:0
Zagreb – Rijeka
2:1
Hajduk – Inter
2:0
23. kolo, 2. travnja 2005.
Hajduk – Zagreb
0:1
Rijeka – Varteks
1:1
Sl. Belupo – Inter
0:1
24. kolo, 9. travnja 2005.
Zagreb – Inter
3:3
Varteks – Sl. Belupo
2:0
Hajduk – Rijeka
1:1
25. kolo, 16. travnja 2005.
Rijeka – Zagreb
4:2
Sl. Belupo – Hajduk
1:1
Inter – Varteks
2:0
26. kolo, 23. travnja 2005.
Zagreb – Varteks
3:1
Hajduk – Inter
5:1
Rijeka – Sl. Belupo
0:0
27. kolo, 30. travnja 2005.
Sl. Belupo – Zagreb
2:0
Inter – Rijeka
3:2
Varteks – Hajduk
1:2
28. kolo, 7. svibnja 2005.
Zagreb – Hajduk
3:2
Varteks – Rijeka
3:1
Inter – Sl. Belupo
2:1
29. kolo, 14. svibnja 2005.
Inter – Zagreb
1:1
Sl. Belupo – Varteks
2:2
Rijeka – Hajduk
1:1
30. kolo, 18. svibnja 2005.
Zagreb – Rijeka
2:1
Hajduk – Sl. Belupo
0:0
Varteks – Inter
1:2
31. kolo, 21. svibnja 2005.
Varteks – Zagreb
3:1
Inter – Hajduk
1:1
Sl. Belupo – Rijeka
1:1
32. kolo, 28. svibnja 2005.
Zagreb – Sl. Belupo
7:1
Rijeka – Inter
3:3
Hajduk – Varteks
6:0
23. kolo, 2. travnja 2005.
Dinamo – Međimurje
5:1
Kam. Ingrad – Zadar
1:0
Osijek – Pula 1856
1:0
24. kolo, 9. travnja 2005.
Međimurje – Pula 1856
1:0
Zadar – Osijek
2:0
Dinamo – Kam. Ingrad
0:0
25. kolo, 16. travnja 2005.
Kam. Ingrad – Međimurje
0:1
Osijek – Dinamo
0:0
Pula 1856 – Zadar
3:1
26. kolo, 23. travnja 2005.
Međimurje – Zadar
1:0
Dinamo – Pula 1856
0:0
Kam. Ingrad – Osijek
2:0
27. kolo, 30. travnja 2005.
Osijek – Međimurje
1:2
Pula 1856 – Kam. Ingrad
1:1
Zadar – Dinamo
1:0
28. kolo, 7. svibnja 2005.
Međimurje – Dinamo
2:1
Zadar – Kam. Ingrad
3:1
Pula 1856 – Osijek
1:1
29. kolo, 14. svibnja 2005.
Pula 1856 – Međimurje
0:0
Osijek – Zadar
1:1
Kam. Ingrad – Dinamo
0:1
30. kolo, 18. svibnja 2005.
Međimurje – Kam. Ingrad
1:0
Dinamo – Osijek
3:3
Zadar – Pula 1856
2:1
31. kolo, 21. svibnja 2005.
Zadar – Međimurje
1:0
Pula 1856 – Dinamo
0:0
Osijek – Kam. Ingrad
3:0
32. kolo, 28. svibnja 2005.
Međimurje – Osijek
2:2
Kam. Ingrad – Pula 1856
1:1
Dinamo – Zadar
7:0
Utakmica 32. kola Lige za ostanak, između Dinama i Zadra, prekinuta je u drugom poluvremenu zbog 5 crvenih kartona gostujuće momčadi.
Najbolji je strijelac lige bio Tomislav Erceg , u dresu Rijeke sa 17 postignutih pogodaka.
Najboljim je igračem lige proglašen igrač Zagreba , Mladen Bartolović .