Bari es el principal nudo ferroviario de Apulia y una de las ciudades ferroviarias clave del Adriático en el sur de Italia. Bari Centrale es la principal estación de tren de la ciudad, con áreas separadas utilizadas por Trenitalia, Italo, Ferrovie del Sud Est y Ferrotramviaria. La ciudad se sitúa en el corredor ferroviario del Adriático entre Foggia y Lecce, mientras que las líneas interiores conectan Bari con el centro de Apulia y la vertiente jónica de la región.
Los servicios desde Bari incluyen trenes de alta velocidad Frecciarossa, servicios Intercity, trenes Regionale por toda Apulia, trenes regionales de Ferrovie del Sud Est y trenes de Ferrotramviaria hacia el aeropuerto Bari Karol Wojtyla y localidades al norte de la ciudad. Bari Centrale gestiona la mayoría de los trenes de larga distancia desde Bari, mientras que la estación Bari Aeroporto presta servicio al enlace ferroviario con el aeropuerto.
Las rutas ferroviarias desde Bari se dirigen hacia el noroeste a Foggia, Roma, Bolonia y Milán; hacia el sureste a Brindisi y Lecce; y hacia el interior a Taranto, conexiones de la zona de Matera y localidades regionales del centro de Apulia. Reserva trenes desde y hacia Bari en línea en Rail Monsters.