The average train between Guimarães and Porto takes 1h 34m and the fastest train takes 1h 6m. There is a train service every few hours from Guimarães to Porto. 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 Guimarães and Porto. The earliest departure is at 5:51 AM in the morning, and the last departure from Guimarães is at 10:55 PM which arrives into Porto at 5:44 AM. All services require a transfer, and take on average 1h 34m. The schedules shown below are for the next available departures.

1h 24m • 1 change

1h 6m • 1 change

1h 38m • 1 change

1h 38m • 1 change

1h 24m • 1 change

1h 15m • 1 change

1h 30m • 1 change

1h 15m • 1 change

1h 24m • 1 change

1h 15m • 1 change

1h 30m • 1 change

1h 15m • 1 change

1h 24m • 1 change

1h 24m • 1 change

1h 24m • 1 change

1h 24m • 1 change
Want to know about travelling from Guimarães to Porto? 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 Guimarães to Porto. However, there are services departing from Guimarães station and arriving at Porto station via Porto Campanha. The journey, including transfers, takes approximately 1h 34m.
Guimarães to Porto train services, operated by Comboios de Portugal, depart from Guimaraes station.
Guimarães to Porto train services, operated by Comboios de Portugal, arrive at Porto Campanha station.
Book your Guimarães to Porto train tickets online with Comboios de Portugal.
The distance between Guimarães and Porto is 24.1 km. The road distance is 59 km.
Comboios de Portugal operates a train from Guimaraes to Porto Campanha hourly. Tickets cost €5–11 and the journey takes 55 min.