Barcelos leży na portugalskiej Linha do Minho, północno-zachodnim korytarzu kolejowym łączącym Porto z Viana do Castelo, Valenca i obszarem przy granicy z Hiszpanią. Miasto ma jeden główny pasażerski dworzec kolejowy, Barcelos, obsługiwany przez Comboios de Portugal, powszechnie znane jako CP. Jego rola kolejowa ma charakter regionalny, a nie dużych prędkości, przy czym Porto pełni funkcję głównego krajowego punktu przesiadkowego w przypadku dłuższych podróży.
Pociągi z Barcelos obejmują połączenia CP Regional i InterRegional na korytarzu Minho, a na wybranych rozkładach dostępne są też niektóre połączenia dalekobieżne Intercidades. Stacja Barcelos obsługuje pociągi jadące na południe do Porto Campanha i Porto Sao Bento, na północ do Viana do Castelo i Valenca oraz lokalne przejazdy przez pobliskie węzły, takie jak Nine. W Barcelos nie ma usług kolei dużych prędkości.
Trasy kolejowe z Barcelos umożliwiają podróż na południe do Porto w celu przesiadki na połączenia krajowe, na północ wzdłuż atlantyckiej strony Minho do Viana do Castelo oraz dalej do Valenca w regionie przygranicznym niedaleko Galicji. Popularne kierunki kolejowe obejmują Porto, Nine, Braga z przesiadką, Viana do Castelo, Valenca i Caminha. Zarezerwuj pociągi z i do Barcelos online w Rail Monsters.