1. division i ishockey 2003-04 var turneringen om mesterskabet på niveau 2 i danskishockey i sæsonen 2003-04 arrangeret af Danmarks Ishockey Union. Turneringen havde deltagelse af 13 hold, der først spillede et grundspil, hvor holdene var inddelt i fire geografiske puljer. Derefter gik de to bedste hold i hver pulje, dvs. i alt otte hold, videre til slutspillet, der bestod af kvartfinaler, semifinaler, bronzekamp og finale. Holdene spillede udelukkende om mesterskabet på niveau 2. Der var ingen automatisk oprykning til Oddset Ligaen eller nedrykning til 2. division.
De 14 hold spillede en turnering, hvor de var opdelt i fire regionale puljer med 3-4 hold i hver, hvorfra de to bedste hold i hver pulje gik videre til slutspillet. Holdene spillede fire kampe (to hjemme- og to udekampe) mod hver af de øvrige hold i deres egen pulje, to kampe (en hjemme- og en udekamp) mod hver af holdene i den anden pulje i samme landsdel, samt en kamp (hjemme eller ude) mod hver af holdene fra den anden landsdel.
Slutspillet havde deltagelse af de to bedste hold fra hver pulje i grundspillet og blev afviklet som en cupturnering, hvor alle opgør blev spillet bedst af tre kampe. De fire puljevindere mødte i kvartfinalerne alle en toer fra samme landsdel som dem selv men fra den anden regionale pulje end dem selv.