El torneo de Primera B se jugó con 18 equipos participantes que se enfrentaron en una ronda de todos contra todos entre marzo y octubre. Al término de esa fase los ocho primeros avanzaron a los cuadrangulares semifinales, compuestos por dos grupos de cuatro equipos cada uno. Los ganadores de los grupos avanzaron a la final por el título del año y el ascenso a la Primera A para la temporada 2005.
Pts=Puntos; PJ=Partidos jugados; G=Partidos ganados; E=Partidos empatados; P=Partidos perdidos; GF=Goles a favor; GC=Goles en contra; DIF=Diferencia de gol
Esta fase estuvo marcada por un hecho particular. En la última fecha el Real Cartagena debía ganar por cuatro goles al Valledupar F. C., los cuales obtuvo en los 12 minutos finales mientras Cúcuta Deportivo derrotaba 3-1 a Alianza Petrolera,[2][3][4][5] teniendo el cupo en su poder.[6] Este hecho generó sospechas de arreglo a favor del equipo cartagenero,[7][8] los cuales quedaron únicamente en indicios ya que la investigación fue archivada.[9]
↑«Verdades de aquel vergonzoso 5-0…». El Pilón | Noticias de Valledupar, El Vallenato y el Caribe Colombiano. 2 de diciembre de 2014. Consultado el 11 de abril de 2021.