Santo Tirso se encuentra en la red ferroviaria del norte de Portugal, entre Oporto y Guimarães, y da servicio al valle del Ave como parada regional, más que como terminal de larga distancia. La ciudad cuenta con una estación principal, Santo Tirso, en la Linha de Guimaraes. Los servicios de pasajeros son operados por Comboios de Portugal a través de CP Urbanos do Porto, la red ferroviaria suburbana y regional centrada en Oporto.
Los trenes desde Santo Tirso son servicios regionales, sin trenes de alta velocidad ni trenes cama que sirvan a la estación. La estación de tren de Santo Tirso se utiliza para viajes locales y regionales hacia Oporto, Guimarães, Trofa y la zona más amplia del Minho. Las conexiones de larga distancia Intercidades y Alfa Pendular requieren un transbordo en Porto Campanha o en otro gran nudo de CP.
Las rutas ferroviarias desde Santo Tirso discurren hacia el suroeste en dirección a Trofa, Ermesinde, Porto Campanha y Porto Sao Bento, y hacia el noreste en dirección a Guimarães a través del valle del Ave. Los billetes de tren desde Santo Tirso son útiles para acceder a la principal red ferroviaria de Oporto, mientras que los trenes a Santo Tirso ofrecen acceso desde Oporto, Guimarães y localidades cercanas del mismo corredor. Reserva trenes desde y hacia Santo Tirso online en Rail Monsters.