The average train between Viana do Castelo and Porto takes 1h 43m and the fastest train takes 1h 21m. The train service runs several times per day from Viana do Castelo 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 every 3 hours between Viana do Castelo and Porto. The earliest departure is at 6:39 AM in the morning, and the last departure from Viana do Castelo is at 9:08 PM which arrives into Porto at 11:05 PM. All services require a transfer, and take on average 1h 43m. The schedules shown below are for the next available departures.

2h 10m • 1 change

1h 21m • 1 change

1h 47m • 1 change

1h 35m • 1 change

2h 10m • 1 change

1h 21m • 1 change

1h 47m • 1 change

1h 35m • 1 change

2h 10m • 1 change

1h 21m • 1 change

1h 47m • 1 change

1h 35m • 1 change

2h 10m • 1 change

1h 21m • 1 change

1h 47m • 1 change

1h 35m • 1 change

2h 10m • 1 change

1h 21m • 1 change

1h 47m • 1 change

1h 35m • 1 change
Want to know about travelling from Viana do Castelo 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 Viana do Castelo to Porto. However, there are services departing from Viana do Castelo station and arriving at Porto station via Porto Campanha. The journey, including transfers, takes approximately 1h 43m.
Viana do Castelo to Porto train services, operated by Comboios de Portugal, depart from Viana Do Castelo station.
Viana do Castelo to Porto train services, operated by Comboios de Portugal, arrive at Porto Campanha station.
Book your Viana do Castelo to Porto train tickets online with Comboios de Portugal and Renfe Viajeros.
The distance between Viana do Castelo and Porto is 66.7 km. The road distance is 85 km.
Comboios de Portugal operates a train from Viana Do Castelo to Porto Campanha hourly. Tickets cost €8–16 and the journey takes 1h 15m. Renfe Viajeros also services this route 4 times a day.