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

1h 45m • 1 change

1h 51m • 1 change

1h 47m • 1 change

1h 42m • 1 change

1h 45m • 1 change

1h 51m • 1 change

1h 47m • 1 change

1h 42m • 1 change

1h 45m • 1 change

1h 51m • 1 change

1h 47m • 1 change

1h 42m • 1 change

1h 45m • 1 change

1h 51m • 1 change

1h 47m • 1 change

1h 42m • 1 change

1h 45m • 1 change

1h 51m • 1 change

1h 47m • 1 change

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