Guimaraes es una terminal ferroviaria del norte de Portugal en la Linha de Guimaraes, situada al este de la principal red ferroviaria de Oporto. La ciudad cuenta con una estación principal de pasajeros, Guimaraes, atendida por Comboios de Portugal a través de CP Urbanos do Porto y servicios regionales seleccionados. Su papel ferroviario es regional y no de alta velocidad, y la mayoría de los trayectos más largos utilizan Porto Campanha como principal punto de transbordo.
Los trenes desde Guimaraes son principalmente servicios suburbanos y regionales que conectan la ciudad con el área de Oporto a través de Vizela, Lousado, Trofa y Ermesinde. La estación de Guimaraes gestiona salidas hacia Porto Sao Bento y Porto Campanha, donde los pasajeros enlazan con Alfa Pendular, Intercidades, InterRegional y otros servicios de CP por todo Portugal.
Las rutas de tren desde Guimaraes discurren hacia el oeste en dirección a Oporto y al eje ferroviario atlántico, con conexiones posteriores hacia el sur a Lisboa, Coimbra, Aveiro y Faro, y hacia el norte a Braga, Viana do Castelo y Valenca mediante transbordos en el área de Oporto. Los billetes de tren para Guimaraes suelen comprarse como billetes punto a punto para servicios de CP. Reserve trenes desde y hacia Guimaraes en línea en Rail Monsters.