El Torneo Nacional B 1989-1990 fue el cuarto disputado en la categoría de Primera B Nacional, que llevaba por ese entonces el nombre de Nacional B. Fue disputado entre el 12 de agosto de 1989 y el 26 de mayo de 1990 por 22 equipos.

Se incorporaron a la categoría San Martín de Tucumán y Deportivo Armenio, descendidos de la Primera División; Villa Dálmine, campeón de la Primera B 1988-89; Atlético de Rafaela y Olimpo de Bahía Blanca, ganadores de los Zonales Noroeste y Sureste, respectivamente, disputados por equipos de la Primera B y del Torneo del Interior.

El campeón del torneo fue Huracán, que ascendió directamente a Primera División. El segundo ascenso fue para Lanús, por medio del Torneo reducido.

Asimismo, el torneo determinó el descenso de Deportivo Armenio y Los Andes a la Primera B Metropolitana y de Olimpo a su respectiva liga regional, por medio de la tabla de promedios.

Ascensos y descensos

PromedioDescendidos del Nacional B 1988-8920.ºChacarita Juniors21.ºTemperley22.ºEstación Quequén

PosiciónAscendidos al Nacional B 1989-901.ºVilla DálmineZonal NoroesteAtlético de RafaelaZonal SuresteOlimpo

PosiciónAscendidos a la Primera División 1989-90 1.ºChaco For EverGan. RedUnión (SF)

PromedioDescendidos de la Primera División 1988-8919.ºSan Martín (T)20.ºDeportivo Armenio

Equipos EquipoCiudadEstadio Almirante Brown Isidro Casanova Fragata Presidente Sarmiento Atlético de Rafaela Rafaela Nuevo Monumental Atlético Tucumán Tucumán Monumental José Fierro Banfield Banfield Florencio Sola Belgrano Córdoba Julio César Villagra Central Córdoba Santiago del Estero Alfredo Terrera Cipolletti Cipolletti La Visera de Cemento Colón Santa Fe Brigadier Estanislao López Defensa y Justicia Florencio Varela Norberto Tomaghello Deportivo Armenio Ingeniero Maschwitz ArmeniaDeportivo ItalianoCiudad Evita No poseeHizo de local en el estadio de Estudiantes (BA).Deportivo MaipúMaipúOmar Higinio SperduttiDouglas HaigPergaminoMiguel MoralesHuracánBuenos AiresTomás Adolfo DucóLanúsLanúsCiudad de Lanús - Néstor Díaz PérezLos AndesLomas de ZamoraEduardo GallardónOlimpoBahía BlancaRoberto Natalio CarminattiQuilmesQuilmesCentenario Talleres Remedios de Escalada Talleres de Remedios de Escalada Tigre Victoria José Dellagiovanna San Martín Tucumán La Ciudadela Villa Dálmine Campana Villa Dálmine

Distribución geográfica de los equipos RegiónCant.Equipos conurbano bonaerense11Almirante Brown, Banfield, Defensa y Justicia, Deportivo Armenio, Deportivo Italiano, Lanús, Los Andes, Quilmes, Talleres, Tigre y Villa Dálmine Interior de la Provincia2Douglas Haig y Olimpo Provincia de Santa Fe2Atlético de Rafaela y Colón Provincia de Tucumán2Atlético Tucumán y San Martín Ciudad de Buenos Aires1Huracán Provincia de Córdoba1Belgrano Provincia de Mendoza1Deportivo Maipú Provincia de Río Negro1Cipolletti Provincia de Santiago del Estero1Central Córdoba

Formato Competición Se disputó un torneo de 42 fechas por el sistema de todos contra todos a dos ruedas, ida y vuelta.

Ascensos El campeón ascendió a la Primera División. Los equipos ubicados entre el segundo y el décimo puesto, el campeón de la Primera B y los ganadores de los Zonales de dicha categoría deben disputar un Torneo Reducido, de manera eliminatoria a dos ruedas, ida y vuelta. Los equipos que finalizaron entre el cuarto y el décimo puesto y los ganadores de los Zonales de la Primera B disputaron la Primera Ronda. En la Segunda Ronda se sumó el tercer ubicado en el campeonato y en las Semifinales, el subcampeón. El ganador ascendió a la Primera División junto con el campeón.

Descensos Se decidieron mediante una tabla de promedios determinados por el cociente entre los puntos obtenidos y los partidos jugados en las tres últimas temporadas. Si un club ascendía y luego de una temporada descendía, se le contabilizan los puntos obtenidos en su campaña previa. Los tres últimos de dicha tabla descendieron a la Primera B o a su respectiva liga regional, según correspondiera. Otros tres equipos indirectamente afiliados, que no fueran alguno de los últimos tres de la tabla de promedios, debieron disputar una promoción contra un equipo del Torneo del Interior.

Tabla de posiciones final {| class="wikitable sortable" style="text-align:center; margin-right: auto; margin-left: auto;" |- style="background:#dddddd;" ! Pos ! Equipo ! Pts ! PJ ! G ! E ! P ! GL ! EL ! PL ! GV ! EV ! PV ! GF ! GC ! DIF |- style="background: #90EE90; text-align:center" ||1.º||align="left"|Huracán ||60||42||24||12||6||15||6||0||9||6||6||70||32||38 |- style="background: #CFC; text-align:center" ||2.º||align="left"|Quilmes ||53||42||19||15||8||13||5||3||6||10||5||65||43||22 |- style="background: #C2EEFF; text-align:center" ||3.º||align="left"|Douglas Haig ||51||42||19||13||10||13||6||2||6||7||8||46||39||7 |- style="background: #C0DEFF; text-align:center" ||4.º||align="left"|San Martín (Tucumán) ||48||42||17||14||11||11||8||2||6||6||9||49||37||12 |- style="background: #C0DEFF; text-align:center" ||5.º||align="left"|Lanús ||47||42||16||15||11||11||8||2||5||7||9||59||50||9 |- style="background: #C0DEFF; text-align:center" ||6.º||align="left"|Atlético de Rafaela ||47||42||15||17||10||11||9||1||4||8||9||55||46||9 |- style="background: #C0DEFF; text-align:center" ||7.º||align="left"|Belgrano ||47||42||16||15||11||12||8||1||4||7||10||39||36||3 |- style="background: #C0DEFF; text-align:center" ||8.º||align="left"|Banfield ||46||42||14||18||10||10||8||3||4||10||7||53||43||10 |- style="background: #C0DEFF; text-align:center" ||9.º||align="left"|Deportivo Italiano ||46||42||14||18||10||10||7||4||4||11||6||32||29||3 |- style="background: #C0DEFF; text-align:center" ||10.º||align="left"|Colón ||45||42||13||19||10||11||9||1||2||10||9||46||35||11 |- style="text-align:center" ||11.º||align="left"|Villa Dálmine ||44||42||15||14||13||9||7||5||6||7||8||41||41||0 |- style="text-align:center" ||12.º||align="left"|Atlético Tucumán ||43||42||15||13||14||12||5||4||3||8||10||53||54||-1 |- style="text-align:center" ||13.º||align="left"|Tigre ||41||42||14||13||15||12||5||4||2||8||11||48||53||-5 |- style="text-align:center" ||14.º||align="left"|Almirante Brown ||39||42||11||17||14||7||10||4||4||7||10||42||54||-12 |- style="text-align:center" ||15.º||align="left"|Los Andes ||38||42||10||18||14||8||7||6||2||11||8||42||52||-10 |- style="text-align:center" ||16.º||align="left"|Central Córdoba (Sgo. del Estero)1 ||37||42||13||13||16||10||7||4||3||6||12||42||47||-5 |- style="text-align:center" ||17.º||align="left"|Deportivo Maipú ||35||42||10||15||17||8||7||6||2||8||11||43||46||-3 |- style="text-align:center" ||18.º||align="left"|Talleres (Remedios de Escalada) ||35||42||11||13||18||6||8||7||5||5||11||42||51||-9 |- style="text-align:center" ||19.º||align="left"|Defensa y Justicia ||35||42||7||21||14||4||11||6||3||10||8||46||57||-11 |- style="text-align:center" ||20.º||align="left"|Cipolletti ||33||42||10||13||19||8||9||4||2||4||15||42||56||-14 |- style="text-align:center" ||21.º||align="left"|Olimpo ||30||42||10||10||22||8||7||6||2||3||16||54||71||-17 |- style="text-align:center" ||22.º||align="left"|Deportivo Armenio ||22||42||5||12||25||3||7||11||2||5||14||27||64||-37

1: Se le descontaron dos puntos tras los incidentes en el partido contra Atlético Tucumán.

Tabla de descenso {| class="wikitable sortable" style="text-align:center; margin-right: auto; margin-left: auto;" |- style="background:#dddddd;" ! Pos ! Equipo ! 87-88 ! 88-89 ! 89-90 ! Total ! PJ ! Promedio |- ||1.º||align="left"|Huracán ||48||51||60||159||126||1,261|- ||2.º||align="left"|Belgrano ||49||50||47||146||126||1,158|- ||3.º||align="left"|San Martín (Tucumán) ||-||-||48||48||42||1,142|- ||4.º||align="left"|Quilmes ||54||37||53||144||126||1,142|- ||5.º||align="left"|Colón ||48||50||45||143||126||1,134|- ||6.º||align="left"|Atlético de Rafaela ||-||-||47||47||42||1,119|- ||7.º||align="left"|Lanús ||35||53||47||135||126||1,071|- ||8.º||align="left"|Banfield ||-||44||46||90||84||1,071|- ||9.º||align="left"|Deportivo Italiano ||41||46||46||133||126||1,055|- ||10.º||align="left"|Atlético Tucumán ||45||45||43||133||126||1,055|- ||11.º||align="left"|Villa Dálmine ||-||-||44||44||42||1,047|- ||12.º||align="left"|Almirante Brown ||40||51||39||130||126||1,031|- ||13.º||align="left"|Douglas Haig ||43||32||51||126||126||1,000|- ||14.º||align="left"|Talleres (Remedios de Escalada) ||-||48||35||83||84||0,988|- ||15.º||align="left"|Defensa y Justicia ||38||49||35||122||126||0,968|- ||16.º||align="left"|Central Córdoba (Sgo. del Estero) ||42||43||37||122||126||0,968|- ||17.º||align="left"|Tigre ||49||30||41||120||126||0,952|- ||18.º||align="left"|Deportivo Maipú ||40||43||35||118||126||0,936|- ||19.º||align="left"|Cipolletti ||52||28||33||113||126||0,896|- style="background: #FFCCCC;" ||20.º||align="left"|Los Andes ||33||33||38||104||126||0,825|- style="background: #FFCCCC;" ||21.º||align="left"|Olimpo ||-||-||30||30||42||0,714|- style="background: #FFCCCC;" ||22.º||align="left"|Deportivo Armenio ||-||-||22||22||42||0,523 Resultados {| width=100% | valign=top width=50% align=left | {| class="wikitable collapsible collapsed" style="font-size:95%; text-align: center; width: 95%;" !colspan="4" style="with: 100%;" align=center | Fecha 1 |- !width="150"|Local !width="75"|Resultado !width="150"|Visitante |-align=center |bgcolor=#D0E7FF|Quilmes |2 - 1 |Talleres (RdE) |-align=center |bgcolor=#D0E7FF|Belgrano |1 - 0 |Deportivo Maipú |-align=center |Banfield |bgcolor=#D0E7FF|2 - 2 |Los Andes |-align=center |Deportivo Armenio |bgcolor=#D0E7FF|1 - 1 |Atlético de Rafaela |-align=center |Huracán |bgcolor=#D0E7FF|1 - 1 |Villa Dálmine |-align=center |bgcolor=#D0E7FF|Douglas Haig |3 - 0 |Central Córdoba (SdE) |-align=center |Cipolletti |bgcolor=#D0E7FF|1 - 1 |San Martín (Tucumán) |-align=center |bgcolor=#D0E7FF|Atlético Tucumán |2 - 1 |Olimpo |-align=center |Lanús |bgcolor=#D0E7FF|1 - 1 |Defensa y Justicia |-align=center |Deportivo Italiano |0 - 1 |bgcolor=#D0E7FF|Almirante Brown |-align=center |bgcolor=#D0E7FF|Colón |1 - 0 |Tigre |} | valign=top width=50% align=left| Fecha 2LocalResultadoVisitanteOlimpo |1 - 0 |Lanús |-align=center |Central Córdoba (SdE) |bgcolor=#D0E7FF|0 - 0HuracánDeportivo Maipú1 - 1 |Quilmes |-align=center |Almirante Brown |0 - 1 |bgcolor=#D0E7FF|BelgranoTalleres (RdE) |1 - 0 |San Martín (Tucumán) |-align=center |bgcolor=#D0E7FF|Atlético Tucumán1 - 0CipollettiAtlético de Rafaela2 - 2 |Banfield |-align=center |Defensa y Justicia |1 - 2 |bgcolor=#D0E7FF|Douglas HaigVilla Dálmine0 - 0 |Deportivo Armenio |-align=center |Los Andes |bgcolor=#D0E7FF|1 - 1ColónTigre0 - 2Deportivo Italiano

Fecha 3LocalResultadoVisitanteCipolletti0 - 0 |Talleres (RdE) |-align=center |bgcolor=#D0E7FF|Quilmes2 - 1Almirante BrownBelgrano |1 - 0 |Tigre |-align=center |Deportivo Italiano |bgcolor=#D0E7FF|0 - 0Los AndesBanfield2 - 2 |Villa Dálmine |-align=center |Deportivo Armenio |0 - 1 |bgcolor=#D0E7FF|Central Córdoba (SdE)Huracán |4 - 1 |Defensa y Justicia |-align=center |Lanús |bgcolor=#D0E7FF|0 - 0Atlético TucumánSan Martín (Tucumán)0 - 1Deportivo Maipú |-align=center |Colón |bgcolor=#D0E7FF|1 - 1Atlético de RafaelaDouglas Haig |1 - 0 |Olimpo |} | valign=top width=50% align=left| {|class="wikitable collapsible collapsed" style="font-size:95%; text-align: center; width: 95%;" !colspan="12" style="with: 100%;" align=center | Fecha 4 |- !width="150"|Local !width="75"|Resultado !width="150"|Visitante |-align=center |bgcolor=#D0E7FF|Lanús4 - 0CipollettiOlimpo0 - 0 |Huracán |-align=center |Defensa y Justicia |bgcolor=#D0E7FF|0 - 0Deportivo ArmenioCentral Córdoba (SdE) |2 - 1 |Banfield |-align=center |bgcolor=#D0E7FF|Villa Dálmine3 - 1ColónAtlético de Rafaela0 - 0 |Deportivo Italiano |-align=center |bgcolor=#D0E7FF|Los Andes2 - 0BelgranoTigre1 - 1 |Quilmes |-align=center |Almirante Brown |0 - 1 |bgcolor=#D0E7FF|San Martín (Tucumán)Deportivo Maipú0 - 0 |Talleres (RdE) |-align=center |bgcolor=#D0E7FF|Atlético Tucumán3 - 0Douglas Haig