The average train between Porto and São Martinho do Porto takes 4h and the fastest train takes 3h 4m. The train service runs several times per day from Porto to São Martinho do 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 4 times a day between Porto and São Martinho do Porto. The earliest departure is at 1:08 AM at night, and the last departure from Porto is at 8:30 PM which arrives into São Martinho do Porto at 7:10 AM. All services require a transfer, and take on average 4h. The schedules shown below are for the next available departures.

3h 8m • 1 change

3h 4m • 1 change
Arrives next day

10h 40m • 1 change

6h 2m • 1 change

3h 8m • 1 change

3h 4m • 1 change

3h 9m • 1 change

6h 2m • 1 change

3h 8m • 1 change

3h 4m • 1 change

3h 9m • 1 change

6h 2m • 1 change

3h 8m • 1 change

3h 4m • 1 change

3h 9m • 1 change
Want to know about travelling from Porto to São Martinho do 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 Porto to São Martinho do Porto. However, there are services departing from Porto station and arriving at São Martinho do Porto station via Coimbra-B. The journey, including transfers, takes approximately 4h.
Porto to São Martinho do Porto train services, operated by Comboios de Portugal, depart from Porto Campanha station.
Porto to São Martinho do Porto train services, operated by Comboios de Portugal, arrive at Sao Martinho Do Porto station.
The distance between Porto and São Martinho do Porto is 187.2 km. The road distance is 243 km.
You can take a train from Porto Campanha to Sao Martinho Do Porto via Coimbra-B in around 3h 57m.