Barcelos se encuentra en la Linha do Minho de Portugal, el corredor ferroviario del noroeste que une Oporto con Viana do Castelo, Valenca y la zona fronteriza con España. La ciudad cuenta con una estación principal de pasajeros, Barcelos, servida por Comboios de Portugal, normalmente conocida como CP. Su papel ferroviario es regional más que de alta velocidad, y Oporto actúa como el principal punto de conexión nacional para los viajes más largos.
Los trenes desde Barcelos incluyen servicios CP Regional e InterRegional en el corredor del Miño, con algunos servicios Intercidades de larga distancia disponibles en horarios seleccionados. La estación de Barcelos gestiona trenes que circulan hacia el sur, en dirección a Porto Campanha y Porto Sao Bento, hacia el norte, en dirección a Viana do Castelo y Valenca, y movimientos locales a través de nudos cercanos como Nine. No hay servicio ferroviario de alta velocidad en Barcelos.
Las rutas ferroviarias desde Barcelos facilitan los viajes hacia el sur a Oporto para conexiones nacionales, hacia el norte por la costa atlántica del Miño hasta Viana do Castelo y, más allá, hasta Valenca para la región fronteriza cercana a Galicia. Los destinos ferroviarios habituales incluyen Oporto, Nine, Braga con transbordo, Viana do Castelo, Valenca y Caminha. Reserva trenes desde y hacia Barcelos en línea en Rail Monsters.