{{Infobox Football league season
  | competition                = Prva HNL Ožujsko
  | season                     = 2003&ndash;04
  | winners                    = Hajduk Split<br>5th Prva HNL title
  | runners-up                 = Dinamo Zagreb
  | relegated                  = Marsonia
  | continentalcup1            = Champions League
  | continentalcup1 qualifiers = Hajduk Split (Second qualifying round)
  | continentalcup2            = UEFA Cup
 | continentalcup2 qualifiers = Dinamo Zagreb (Second qualifying round)<br />Rijeka (Second qualifying round)
  | continentalcup3            = Intertoto Cup
  | continentalcup3 qualifiers = Kamen Ingrad (Second round)<br>Slaven Belupo (First round)
  | league topscorer           = Robert Špehar (18)
  | biggest home win           = 
  | biggest away win           = 
  | highest scoring            = 
  | total goals                = 531
  | average goals              = 2.76
  | longest wins               = 
  | longest unbeaten           = 
  | longest losses             = 
  | highest attendance         = 
  | lowest attendance          = 
  | average attendance         = 
  | prevseason                 = 2002-03
  | nextseason                 = 2004-05
}}

Statistics of the Prva HNL 2003-04 season.

== Overview ==
It was performed in 12 teams, and HNK Hajduk Split won the championship.

=== Rounds 1-22 ===

{| class="wikitable sortable" style="text-align: center;"
! |Pos
! width="110pt"|Team
! |P
! |W
! |D
! |L
! |F
! |A
! |GD
! |Pts
! ! width="200pt"|Notes
|- style="background: #D0F0C0"
| 1 ||style="text-align:center"|Hajduk Split|| 22 || 18 || 1 || 3 || 46 || 18 || 28 || '''55''' || rowspan="6"|<small>Advance to<br />Championship League</small>
|- style="background: #D0F0C0"
| 2 ||style="text-align:center"|Dinamo Zagreb|| 22 || 15 || 5 || 2 || 47 || 16 || 31 || '''50'''
|- style="background: #D0F0C0"
| 3 ||style="text-align:center"|Rijeka|| 22 || 8 || 7 || 7 || 26 || 25 || 1 || '''31'''
|- style="background: #D0F0C0"
| 4 ||style="text-align:center"|Osijek|| 22 || 8 || 5 || 9 || 36 || 40 || -4 || '''29'''
|- style="background: #D0F0C0"
| 5 ||style="text-align:center"|Varteks|| 22 || 7 || 8 || 7 || 21 || 25 || -4 || '''29'''
|- style="background: #D0F0C0"
| 6 ||style="text-align:center"|Zadar|| 22 || 7 || 7 || 8 || 37 || 44 || -7 || '''28'''
|- style="background:#FFFF99"
| 7 ||style="text-align:center"|Kamen Ingrad|| 22 || 8 || 4 || 10 || 32 || 27 || 5 || '''28''' || rowspan="6"|<small>Advance to<br />Relegation League</small>
|- style="background:#FFFF99"
| 8 ||style="text-align:center"|Inter Zaprešić|| 22 || 6 || 9 || 7 || 22 || 23 || -1 || '''27'''
|- style="background:#FFFF99"
| 9 ||style="text-align:center"|Slaven Belupo|| 22 || 6 || 8 || 8 || 22 || 27 || -5 || '''26'''
|- style="background:#FFFF99"
| 10 ||style="text-align:center"|Cibalia|| 22 || 5 || 5 || 12 || 25 || 35 || -10 || '''20'''
|- style="background:#FFFF99"
| 11 ||style="text-align:center"|NK Zagreb|| 22 || 3 || 10 || 9 || 21 || 32 || -9 || '''19'''
|- style="background:#FFFF99"
| 12 ||style="text-align:center"|Marsonia|| 22 || 4 || 5 || 13 || 25 || 48 || -23 || '''17'''
|}
<small>'''P''' = Matches played; '''W''' = Matches won; '''D''' = Matches drawn; '''L''' = Matches lost; '''F''' = Goals for; '''A''' = Goals against; '''GD''' = Goal difference; '''Pts''' = Points</small>

=== Championship League ===

{| class="wikitable sortable" style="text-align: center;"
! |Pos
! width="110pt"|Team
! |P
! |W
! |D
! |L
! |F
! |A
! |GD
! |Pts
! ! width="220pt"|Notes
|- style="background: #90EE90"
| 1 ||style="text-align:center"|'''| 32 || 25 || 3 || 4 || 63 || 24 || 39 || '''78''' || <small>[[UEFA Champions League 2004-05#Second qualifying round|Champions League 2nd Qualifying Round</small>
|-  style="background: #97DEFF"
| 2 ||style="text-align:center"|Dinamo Zagreb|| 32 || 23 || 7 || 2 || 77 || 25 || 52 || '''76''' || rowspan="2"| <small>UEFA Cup Second Qualifying Round</small>
|-  style="background: #97DEFF"
| 3 ||style="text-align:center"|Rijeka|| 32 || 11 || 9 || 12 || 36 || 41 || -5 || '''42'''
|-
| 4 ||style="text-align:center"|Osijek|| 32 || 11 || 6 || 15 || 50 || 57 || -7 || '''39'''
|-
| 5 ||style="text-align:center"|Varteks|| 32 || 9 || 11 || 12 || 33 || 42 || -9 || '''38'''
|-
| 6 ||style="text-align:center"|Zadar|| 32 || 7 || 11 || 14 || 46 || 71 || -25 || '''32'''
|}
<small>'''P''' = Matches played; '''W''' = Matches won; '''D''' = Matches drawn; '''L''' = Matches lost; '''F''' = Goals for; '''A''' = Goals against; '''GD''' = Goal difference; '''Pts''' = Points</small>

=== Relegation League ===

L''''edizione 04 del campionato di calcio croato''' (''1. HNL'') vide la vittoria finale dell'Hajduk Spalato.

Capocannoniere del torneo fu Robert Špehar (NK Osijek), con 18 reti.

==Classifica finale==

{| align=center style="font-size: 90%; border-collapse:collapse" border=1 cellspacing=0 cellpadding=2
|- align=center bgcolor=#98A1B2
!width=30|
!width=200|<font color=#FFFFFF>Classifica</font>
!width=45|<font color=#FFFFFF>Pt</font>
!width=30|<font color=#FFFFFF>G</font>
!width=30|<font color=#FFFFFF>V</font>
!width=30|<font color=#FFFFFF>N</font>
!width=30|<font color=#FFFFFF>P</font>
!width=30|<font color=#FFFFFF>GF</font>
!width=30|<font color=#FFFFFF>GS</font>
|- align=center style="background: #d2e6ff" 
|1.||Hajduk Spalato
||'''55'''||22||18||1||3||46||18
|- align=center style="background: #d2e6ff"
|2.||Dinamo Zagabria
||'''50'''||22||15||5||2||47||16
|- align=center style="background: #d2e6ff" 
|3.||HNK Rijeka
||'''31'''||22||8||7||7||26||25
|- align=center style="background: #d2e6ff" 
|4.||NK Osijek
||'''29'''||22||8||5||9||36||40
|- align=center style="background: #d2e6ff"
|5.||NK Varteks Varaždin
||'''29'''||22||7||8||7||21||25
|- align=center style="background: #d2e6ff"
|6.||NK Zadar
||'''28'''||22||7||7||8||37||44
|- align=center style="background:#FFC0D0;"
|7.||NK Kamen Ingrad Velika
||'''28'''||22||8||4||10||32||27
|- align=center style="background:#FFC0D0;"
|8.||NK Inter Zaprešić
||'''27'''||22||6||9||7||22||23
|- align=center style="background:#FFC0D0;"
|9.||NK Slaven Belupo Koprivnica
||'''26'''||22||6||8||8||22||27
|- align=center style="background:#FFC0D0;"
|10.||HNK Cibalia Vinkovci
||'''20'''||22||5||5||12||25||35
|- align=center style="background:#FFC0D0;"
|11.||NK Zagabria
||'''19'''||22||3||10||9||21||32
|- align=center style="background:#FFC0D0;"
|12.||NK Marsonia Slavonski Brod
||'''17'''||22||4||5||13||25||48
|}

===Play-off===