The average train between Porto and Guimarães takes 1h 30m and the fastest train takes 1h 15m. There is a train service every few hours from Porto to Guimarães. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run hourly between Porto and Guimarães. The earliest departure is at 6:03 AM in the morning, and the last departure from Porto is at 11:06 PM which arrives into Guimarães at 12:35 AM. All services require a transfer at São Bento and take an average of 1h 30m. The schedules shown below are for the next available departures.

1h 33m • 1 change
1h 33m • 1 change
1h 29m • 1 change
1h 37m • 1 change
1h 38m • 1 change
1h 28m • 1 change
1h 30m • 1 change
1h 17m • 1 change
1h 38m • 1 change
1h 28m • 1 change
1h 30m • 1 change
1h 17m • 1 change
1h 38m • 1 change
1h 28m • 1 change
1h 30m • 1 change
1h 17m • 1 change
1h 38m • 1 change
1h 28m • 1 change
1h 30m • 1 change
1h 17m • 1 change
1h 35m • 1 change
1h 36m • 1 change
1h 32m • 1 change
1h 36m • 1 change
1h 35m • 1 change
1h 36m • 1 change
1h 32m • 1 change
1h 36m • 1 changeWant to know about travelling from Porto to Guimarães? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Porto to Guimarães. However, there are services departing from Porto Sao Bento station and arriving at Guimaraes station via Guimaraes station. The journey, including transfers, takes approximately 1h 30m.
Porto to Guimarães train services, operated by Comboios de Portugal, depart from Porto Sao Bento station.
Porto to Guimarães train services, operated by Comboios de Portugal, arrive at Guimaraes station.
The distance between Porto and Guimarães is 24.1 km. The road distance is 58 km.
Comboios de Portugal operates a train from Porto Sao Bento to Guimaraes hourly. Tickets cost €5–10 and the journey takes 1h 14m.