Prva hrvatska nogometna liga 2008./9. (skraćeno:Prva HNL 2008./9. ) je natjecanje Prve hrvatske nogometne lige koje je počelo 27. srpnja 2008. , a završilo 14. lipnja 2009. . Igralo se trokružnim sustavom kao i prošle sezone . Od sezone 2009./2010. odlukom Hrvatskog nogometnog saveza Prva HNL ima 16 klubova.
Posljednjeplasirana NK Croatia Sesvete je igrala protiv petoplasiranog drugoligaša NK Hrvatski dragovoljac za ostanak u Prvoj HNL. Kako je NK Croatia Sesvete pobijedila Hrv. Dragovoljca (0:0, 2:1), iz lige nitko nije ispao u 2. HNL .
1. kolo, 27. srpnja 2008 .
Varteks - Zagreb
2:1
Hajduk - Zadar
1:0
Cibalia - Sl. Belupo
0:0
Cro. Sesvete - Osijek
1:1
Inter - Šibenik
2:3
Dinamo - Rijeka
2:0
2. kolo, 3. kolovoza 2008 .
Rijeka - Zagreb
0:1
Hajduk - Varteks
1:1
Sl. Belupo - Zadar
2:1
Osijek - Cibalia
2:0
Šibenik - Cro. Sesvete
0:1
Dinamo - Inter
3:1
3. kolo, 10. kolovoza 2008 .
Inter - Rijeka
2:2
Cro. Sesvete - Dinamo
0:1
Cibalia - Šibenik
2:0
Zadar - Osijek
2:2
Varteks - Sl. Belupo
2:3
Zagreb - Hajduk
3:0
4. kolo, 17. kolovoza 2008 .
Rijeka - Hajduk
3:1
Sl. Belupo - Zagreb
2:0
Osijek - Varteks
2:1
Šibenik - Zadar
1:0
Dinamo - Cibalia
6:0
Inter - Cro. Sesvete
3:2
5. kolo, 24. kolovoza 2008 .
Cro. Sesvete - Rijeka
0:1
Cibalia - Inter
4:3
Zadar - Dinamo
2:3
Varteks - Šibenik
2:1
Zagreb - Osijek
2:1
Hajduk - Sl. Belupo
3:1
6. kolo, 31. kolovoza 2008 .
Rijeka - Sl. Belupo
2:0
Osijek - Hajduk
1:2
Šibenik - Zagreb
1:1
Dinamo - Varteks
2:1
Inter - Zadar
3:1
Cro. Sesvete - Cibalia
1:1
7. kolo, 14. rujna 2008 .
Cibalia - Rijeka
3:1
Zadar - Cro. Sesvete
1:2
Varteks - Inter
1:0
Zagreb - Dinamo
2:2
Hajduk - Šibenik
1:0
Sl. Belupo - Osijek
4:2
8. kolo, 21. rujna 2008 .
Rijeka - Osijek
0:0
Šibenik - Sl. Belupo
3:0
Dinamo - Hajduk
0:2
Inter - Zagreb
1:1
Cro. Sesvete - Varteks
4:0
Cibalia - Zadar
1:0
9. kolo, 26. /28. rujna 2008 .
Zadar - Rijeka
0:3
Varteks - Cibalia
3:0
Zagreb - Cro. Sesvete
1:1
Hajduk - Inter
3:3
Sl. Belupo - Dinamo
2:0
Osijek - Šibenik
1:3
10. kolo, 5. listopada 2008 .
Rijeka - Šibenik
0:1
Dinamo - Osijek
1:0
Inter - Sl. Belupo
0:0
Cro. Sesvete - Hajduk
1:0
Cibalia - Zagreb
0:1
Zadar - Varteks
1:0
11. kolo, 19. listopada 2008 .
Varteks - Rijeka
3:3
Zagreb - Zadar
0:0
Hajduk - Cibalia
2:0
Sl. Belupo - Cro. Sesvete
4:0
Osijek - Inter
2:1
Šibenik - Dinamo
2:2
12. kolo, 26. listopada /19. studenog 2008 .
Rijeka - Dinamo
1:0
Šibenik - Inter
1:1
Osijek - Cro. Sesvete
4:2
Sl. Belupo - Cibalia
1:0
Zadar - Hajduk
1:0
Zagreb - Varteks
0:3
13. kolo, 2. studenog 2008 .
Zagreb - Rijeka
1:1
Varteks - Hajduk
0:2
Zadar - Sl. Belupo
1:1
Cibalia - Osijek
0:3
Cro. Sesvete - Šibenik
0:0
Inter - Dinamo
1:3
14. kolo, 9. studenog 2008 .
Rijeka - Inter
0:1
Dinamo - Cro. Sesvete
6:1
Šibenik - Cibalia
4:0
Osijek - Zadar
3:0
Sl. Belupo - Varteks
2:3
Hajduk - Zagreb
4:0
15. kolo, 16. studenog 2008 .
Hajduk - Rijeka
2:0
Zagreb - Sl. Belupo
2:0
Varteks - Osijek
0:0
Zadar - Šibenik
1:0
Cibalia - Dinamo
1:1
Cro. Sesvete - Inter
1:3
16. kolo, 23. studenog 2008 .
Rijeka - Cro. Sesvete
2:1
Inter - Cibalia
1:2
Dinamo - Zadar
2:0
Šibenik - Varteks
2:0
Osijek - Zagreb
0:2
Sl. Belupo - Hajduk
1:2
17. kolo, 30. studenog 2008 .
Sl. Belupo - Rijeka
2:1
Hajduk - Osijek
3:1
Zagreb - Šibenik
0:4
Varteks - Dinamo
0:1
Zadar - Inter
1:1
Cibalia - Cro. Sesvete
3:1
18. kolo, 7. prosinca 2008 .
Rijeka - Cibalia
1:0
Cro. Sesvete - Zadar
3:1
Inter - Varteks
2:3
Dinamo - Zagreb
3:1
Šibenik - Hajduk
1:2
Osijek - Sl. Belupo
0:0
19. kolo, 22. veljače 2009 .
Osijek - Rijeka
2:2
Sl. Belupo - Šibenik
3:1
Hajduk - Dinamo
2:0
Zagreb - Inter
0:1
Varteks - Cro. Sesvete
2:1
Zadar - Cibalia
2:1
20. kolo, 1. ožujka 2009 .
Rijeka - Zadar
2:1
Cibalia - Varteks
1:0
Cro. Sesvete - Zagreb
1:4
Inter - Hajduk
0:4
Dinamo -Sl. Belupo
1:0
Šibenik - Osijek
1:1
21. kolo, 8. ožujka 2009 .
Šibenik - Rijeka
3:0
Osijek - Dinamo
0:2
Sl. Belupo - Inter
1:0
Hajduk - Cro. Sesvete
1:0
Zagreb - Cibalia
0:0
Varteks - Zadar
2:0
22. kolo, 15. ožujka 2009 .
Rijeka - Varteks
2:1
Zadar - Zagreb
2:1
Cibalia - Hajduk
1:1
Cro. Sesvete - Sl. Belupo
0:0
Inter - Osijek
0:1
Dinamo - Šibenik
3:0
23. kolo, 22. ožujka 2009 .
Hajduk - Zagreb
2:0
Dinamo - Osijek
0:0
Sl. Belupo - Cibalia
1:1
Šibenik - Inter
4:0
Rijeka - Cro. Sesvete
3:2
Varteks - Zadar
0:0
24. kolo, 5. travnja 2009 .
Inter - Sl. Belupo
1:0
Osijek - Hajduk
1:0
Cro. Sesvete - Šibenik
0:1
Varteks - Zagreb
1:2
Zadar - Rijeka
3:1
Cibalia - Dinamo
3:4
25. kolo, 12. travnja 2009 .
Rijeka - Varteks
4:1
Hajduk - Cibalia
2:0
Sl. Belupo - Cro. Sesvete
5:1
Zagreb - Osijek
1:0
Šibenik - Zadar
0:0
Dinamo - Inter
1:0
26. kolo, 19. travnja 2009 .
Inter - Hajduk
0:2
Cro. Sesvete - Dinamo
0:4
Zadar - Sl. Belupo
0:1
Varteks - Šibenik
2:2
Rijeka - Zagreb
2:0
Cibalia - Osijek
1:1
27. kolo, 22. travnja 2009 .
Dinamo - Zadar
2:0
Sl. Belupo - Varteks
2:1
Šibenik - Rijeka
0:1
Osijek - Inter
1:1
Zagreb - Cibalia
4:0
Hajduk - Cro. Sesvete
5:0
28. kolo, 26. travnja 2009 .
Varteks - Dinamo
1:6
Zadar - Hajduk
0:3
Rijeka - Sl. Belupo
6:2
Šibenik - Zagreb
2:1
Cro. Sesvete - Osijek
1:1
Inter - Cibalia
0:0
29. kolo, 3. svibnja 2009 .
Dinamo - Rijeka
4:0
Osijek - Zadar
1:0
Cibalia - Cro. Sesvete
3:0
Zagreb - Inter
1:0
Hajduk - Varteks
0:1
Sl. Belupo - Šibenik
1:0
30. kolo, 10. svibnja 2009 .
Varteks - Osijek
2:3
Šibenik - Dinamo
0:2
Rijeka - Hajduk
2:1
Sl. Belupo - Zagreb
2:1
Cro. Sesvete - Inter
0:3
Zadar - Cibalia
3:1
31. kolo, 17. svibnja 2009 .
Inter - Zadar
2:2
Cibalia - Varteks
2:1
Zagreb - Cro. Sesvete
0:0
Hajduk - Šibenik
2:0
Dinamo - Sl. Belupo
2:0
Osijek - Rijeka
1:2
32. kolo, 24. svibnja 2009 .
Šibenik - Osijek
2:1
Dinamo - Zagreb
0:1
Zadar - Cro. Sesvete
1:1
Sl. Belupo - Hajduk
1:1
Rijeka - Cibalia
2:0
Varteks - Inter
0:1
33. kolo, 31. svibnja 2009 .
Osijek - Sl. Belupo
1:2
Zagreb - Zadar
3:1
Hajduk - Dinamo
2:2
Inter - Rijeka
3:0
Cro. Sesvete - Varteks
2:1
Cibalia - Šibenik
2:1
16 pogodaka - Mario Mandžukić (Dinamo),
15 pogodaka - Nikola Kalinić (Hajduk)
14 pogodaka - Bojan Vručina (Slaven Belupo), Ermin Zec (Šibenik), Anas Sharbini (Rijeka),
12 pogodaka - Ahmad Sharbini (Rijeka), Senijad Ibričić (Hajduk),
11 pogodaka - Ilija Sivonjić (Dinamo/Inter), Goran Mujanović (Varteks), Davor Vugrinec (Zagreb),
9 pogodaka - Ivan Rodić (Šibenik),
8 pogodaka - Drago Gabrić (Hajduk), Josip Barišić (Osijek), Ivan Krstanović (Zagreb), Željko Malčić (Cibalia), Sammir (Dinamo),
7 pogodaka - Pedro Morales (Dinamo), Miljenko Mumlek (Varteks), Dražen Gović (Šibenik), Želimir Terkeš (Zadar),
6 pogodaka - Nino Bule (Inter Zaprešić), Boško Balaban (Dinamo), Srđan Andrić (Hajduk), Miroslav Slepička (Dinamo), Matija Smrekar (Varteks), Ivo Smoje (Osijek), Dino Kresinger (Slaven Belupo),
5 pogodaka - Vladimir Petrović (Croatia Sesvete), Tarik Cerić (Rijeka), Tomislav Pavličić (Cibalia), Marin Tomasov (Hajduk/Zadar), Karlo Primorac (Osijek), Ivan Parlov (Zagreb), Ivan Miličević (Osijek), Josip Knežević (Osijek), Mario Jurić (Slaven Belupo), Dodo (Inter)
4 pogotka - Valentin Babić (Osijek), Josip Brezovec (Varteks), Marijo Dodik (Inter Zaprešić), Goran Juroš (Croatia Sesvete), Josip Tadić (Dinamo), Sandi Križman (Rijeka), Aljoša Vojnović (Croatia Sesvete), Dragan Župan (Zadar), Ivan Tomečak (Dinamo), Marin Ljubičić (Zadar), Mato Jajalo (Slaven Belupo), Bernard Gulić (Inter Zaprešić), Milan Badelj (Dinamo), Mehmed Alispahić (Šibenik),
3 pogotka - Ivica Baraban (Cibalia), Mario Čižmek (Croatia Sesvete), Enes Novinić (Varteks), Mirko Oremuš (Hajduk), Antun Palić (Croatia Sesvete), Ivica Vrdoljak (Dinamo), Fausto Budicin (Rijeka), Srebrenko Posavec (Slaven Belupo), Gordan Vuk (Varteks), Edin Šaranović (Zadar), Miroslav Pejić (Zagreb), Alen Maras (Slaven Belupo), Edin Husić (Cibalia), Mario Grgurović (Inter Zaprešić),
2 pogotka - Mladen Bartolović (Hajduk), Silvio Cavrić (Inter Zaprešić), Joško Kovač (Šibenik), Davor Kukec (Inter Zaprešić), Elvis Mešić (Cibalia), Damir Milanović (Šibenik), Kaja Rogulj (Slaven Belupo), Hrvoje Spahija (Šibenik), Matija Špičić (Zagreb), Hrvoje Štrok (Rijeka), Mirko Hrgović (Dinamo), Marko Kartelo (Zagreb), Mario Lučić (Varteks) 1 ag, Artim Pollozhani (Croatia Sesvete), Mario Tičinović (Hajduk), Domagoj Vida (Osijek), Hrvoje Vejić (Hajduk), Martin Šaban (Croatia Sesvete), Ante Puljić (Zadar), Alen Pamić (Rijeka), Vedran Nikšić (Osijek), Josip Lukačević (Cibalia), Stjepan Jukić (Croatia Sesvete), Mathias Chago (Dinamo), Ante Batarelo (Inter Zaprešić), Ivan Babić (Cibalia), Besart Abdurahimi (Zagreb),
1 pogodak - Marin Batur (Zadar), Mario Bilen (Slaven Belupo), Dario Bodrušić (Rijeka) ag, Petar Bošnjak (Slaven Belupo), Ivan Božić (Šibenik), Mario Brkljača (Zagreb), Marijan Budimir (Inter Zaprešić), Tomislav Bušić (Hajduk), Igor Čagalj (Rijeka), Kristijan Čaval (Slaven Belupo), Krunoslav Čičak (Croatia Sesvete), Mario Čutura (Zagreb), Adin Džafić (Cibalia), Etto (Dinamo), Ramon Fernández (Rijeka), Luis Ibáñez (Dinamo), Vedran Ivanković (Zagreb), Goran Jurakić (Croatia Sesvete), Mario Jurin (Croatia Sesvete), Siniša Linić (Hajduk), Dejan Lovren (Dinamo), Andre Luiz (Osijek), Denis Ljubović (Rijeka), Marijan Maruna (Croatia Sesvete), Matija Matko (Rijeka), Tomislav Mazalović (Cibalia), Davor Piškor (Zagreb), Kristijan Polovanec (Croatia Sesvete), Igor Prahić (Varteks), Igor Prijić (Osijek), Boris Raič (Šibenik), Goran Rubil (Hajduk), Ilija Sivonjić (Dinamo), Nikola Šafarić (Slaven Belupo), Tomo Šokota (Dinamo), Marin Tomasov (Hajduk), Ante Tomić (Dinamo), Srđan Vidaković (Osijek), Armand Dubois Yankep (Inter Zaprešić), Igor Bišćan (Dinamo), Josip Bonacin (Šibenik), Tomislav Čuljak (Cibalia), Ferreira A.L.Cardoso (Osijek) ag, Vedran Gerc (Rijeka), Mario Gregurina (Slaven Belupo), Dario Jertec (Hajduk), Elvis Kokalović (Slaven Belupo), Damir Kreilach (Rijeka), Tomislav Šarić (Inter), Mahir Iftić (Inter) ag,
Autogolovi
po 1 autogol: Dario Bodrušić (Rijeka), Ferreira A.L.Cardoso (Osijek), Mahir Iftić (Inter), Mario Lučić (Varteks), Alen Maras , Renato Pilipović (Croatia Sesvete), Ivo Smoje.