Turneringen havde deltagelse af ni hold, der først spillede et grundspil med 36 kampe til hvert hold. Derefter gik de otte bedste hold videre til slutspillet om DM-medaljer, der bestod af kvartfinaler, semifinaler og finale, hvor alle opgør for første gang blev afviklet bedst af syv kampe, samt en bronzekamp.
Danmarksmesterskabet blev vundet af eliteoverbygningen på Esbjerg Ishockey Klub, Esbjerg Oilers, som dermed vandt DM-titlen for første gang. Det var imidlertid den 5. DM-titel i alt for moderklubben Esbjerg IK. Vestjyderne var blevet nr. 2 i grundspillet, men i slutspillet spillede holdet tre dramatiske opgør mod henholdsvis Rungsted Cobras, Odense Bulldogs og AaB Ishockey, som alle først blev afgjort i syvende kamp. I finaleserien mod AaB Ishockey var Esbjerg endda bagud med 2-3 efter fem kampe men formåede at vinde begge de to sidste finaler efter forlænget spilletid. Den afgørende kamp blev spillet hjemme i Esbjerg Skøjtehal den 6. april2004, hvor hjemmeholdet sikrede sig titlen ved at vinde 3-2 efter forlænget spilletid i en kamp, der blev lige så dramatisk som resten af slutspillet. To minutter før tid førte gæsterne fra Aalborg med 2-0, men det lykkedes for hjemmeholdets Dan O'Connell at reducere til 1-2 ca. halvandet minut før tid, og blot 4 sekunder inden udløb af den ordinære spilletid fik Esbjerg Oilers' Martin Rousek udlignet til 2-2 til stor jubel for de 4.202 tilskuere – det højeste tilskuertal til en dansk ligakamp i otte år. Det afgørende mål til 3-2 blev scoret af Petter Bart Hansen efter 9:23 af den forlængede spilletid.
Det var første gang siden sæsonen 1993-94 at AaB Ishockey vandt DM-medaljer, og finalenederlaget var det første af en serie på fire sæsoner i træk, hvor holdet tabte i DM-finalen.
De ni hold spillede en turnering med 36 kampe til hvert hold, der blev spillet i perioden 12. september2003 - 13. februar2004. De otte bedste hold gik videre til kvartfinalerne.
K: Spillede kampe, V3: Kampe vundet i ordinær spilletid (3 point), V2: Kampe vundet efter overtid/straffeslag (2 point), T1: Kampe tabt efter overtid/straffeslag (1 point), T0: Kampe tabt i ordinær spilletid (0 point), Mf: Mål for, Mi: Mål imod, +/-: Måldifference, P: Point
Slutspillet havde deltagelse af de otte bedst hold i grundspillet og blev afviklet som en cupturnering, hvor alle opgør blev spillet bedst af syv kampe, bortset fra bronzekampen.
Kvartfinaler
De fire bedst placerede hold i grundspillet valgte i seedningsrækkefølge selv deres modstandere i kvartfinalerne blandt de hold, der sluttede grundspillet på 5.- til 8.-pladsen. Som vinder af grundspillet var Herning Blue Fox førstevælger, og midtjyderne valgte grundspillets nr. 7, IK Sønderjylland, som modstander i sin kvartfinale. Grundspillets nr. 2, Esbjerg Oilers valgte at møde Rungsted Cobras, der var blevet nr. 5 i grundspillet. Som nr. 3 valgte AaB IshockeyHerlev Eagles, som modstander, hvilket efterlod Frederikshavn IK som Odense Bulldogs' modstander.