There are 9 ways to get from Porto to St. Moritz by plane, train, bus, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly to Zurich Airport, train
best- Fly from Francisco De Sá Carneiro Airport (OPO) to Zurich Airport (ZRH)plane OPO - ZRH
- Take the train from Zürich HB to Churtrain
- Take the train from Chur to St. Moritztrain
9h 12mCHF 111–282Fly to Milan Linate Airport, train, bus
cheapest- Fly from Francisco De Sá Carneiro Airport (OPO) to Milan Linate Airport (LIN)plane OPO - LIN
- Take the train from Monza to Colicotrain
- Take the bus from Chiavenna, Stazione to St. Moritz, Bahnhofbus
11h 18mCHF 55–222Bus, train
- Take the bus from Porto - Terminal Intermodal de Campanhã to Lyon - Gerland Bus Stationbus
- Take the bus from Lyon to Genevabus
- Take the train from Genève to Brigtrain Ec
- Take the train from Brig to St. Moritztrain 902 / ...
34h 6mDrive 2,026.3 km
- Drive from Porto to St. Moritzcar 2,026.3 km
22h 5mCHF 324–467Fly to Basel, train
- Fly from Francisco De Sá Carneiro Airport (OPO) to Basel (BSL)plane OPO - BSL
- Take the train from Basel SBB to Churtrain
- Take the train from Chur to St. Moritztrain
10h 57mCHF 91–452Fly to Il Caravaggio International Airport, train, bus
- Fly from Francisco De Sá Carneiro Airport (OPO) to Il Caravaggio International Airport (BGY)plane OPO - BGY
- Take the train from Milano Centrale to Colicotrain
- Take the bus from Chiavenna, Stazione to St. Moritz, Bahnhofbus
11h 33mCHF 75–245Fly to Milano Malpensa Airport, train, bus
- Fly from Francisco De Sá Carneiro Airport (OPO) to Milano Malpensa Airport (MXP)plane OPO - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Centraletrain
- Take the train from Milano Centrale to Colicotrain
- Take the bus from Chiavenna, Stazione to St. Moritz, Bahnhofbus
11h 47mCHF 58–175Bus, train via Hospital de São João
- Take the bus from Porto - Hospital de São João to Lyon, Perrache Bus Stationbus
- Take the bus from Lyon, Perrache Bus Station to Geneva - Bus stationbus
- Take the train from Genève to Brigtrain Ec
- Take the train from Brig to St. Moritztrain 902 / ...
39h 9mBus
- Take the bus from Porto - Terminal Intermodal de Campanhã to Strasbourg - L'Étoile Park Bus Stationbus
- Take the bus from Strasbourg - L'Étoile Park Bus Station to Luganobus
- Take the bus from Lugano, Stazione Nord to St. Moritz, Bahnhofbus 631
43h 30mCHF 187–339
Francisco De Sá Carneiro Airport (OPO) to Zurich Airport (ZRH) flights
Questions & Answers
The cheapest way to get from Porto to St. Moritz is to fly and train and bus which costs SFr 55 - SFr 180 and takes 11h 47m.
The fastest way to get from Porto to St. Moritz is to fly and train which takes 9h 12m and costs SFr 110 - SFr 290.
No, there is no direct bus from Porto to St. Moritz. However, there are services departing from Porto - Terminal Intermodal de Campanhã and arriving at St. Moritz, Bahnhof via Strasbourg - L'Étoile Park Bus Station, Lugano, Via Ciani/Cornaredo and Lugano, Stazione Nord. The journey, including transfers, takes approximately 43h 30m.
The distance between Porto and St. Moritz is 1752 km. The road distance is 2026.3 km.
The best way to get from Porto to St. Moritz without a car is to bus and train which takes 34h 6m and costs .
It takes approximately 9h 12m to get from Porto to St. Moritz, including transfers.
Porto to St. Moritz bus services, operated by BlaBlaCar Bus, depart from Porto - Terminal Intermodal de Campanhã station.
Porto to St. Moritz bus services, operated by BlaBlaCar Bus, arrive at Strasbourg - L'Étoile Park Bus Station.
St. Moritz is 1h ahead of Porto. It is currently 1:10 AM in Porto and 2:10 AM in St. Moritz.
Yes, the driving distance between Porto to St. Moritz is 2026 km. It takes approximately 22h 5m to drive from Porto to St. Moritz.
What companies run services between Porto, Portugal and St. Moritz, Switzerland?
You can take a bus from Porto - Terminal Intermodal de Campanhã to St. Moritz, Bahnhof via Strasbourg - L'Étoile Park Bus Station, Lugano, Lugano, Via Ciani/Cornaredo, Lugano, Stazione, and Lugano, Stazione Nord in around 43h 30m.
- Website
- easyjet.com
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 32m
- When
- Every day
- Estimated price
- CHF 35–110
Flights from Francisco De Sá Carneiro Airport to Milan Linate Airport
- Ave. Duration
- 2h 35m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- CHF 35–180
Flights from Francisco De Sá Carneiro Airport to Basel
- Ave. Duration
- 2h 29m
- When
- Monday, Tuesday, Friday, Saturday, and Sunday
- Estimated price
- CHF 40–180
Flights from Francisco De Sá Carneiro Airport to Basel via Nantes
- Ave. Duration
- 4h 27m
- When
- Monday and Friday
- Estimated price
- CHF 40–180
Flights from Francisco De Sá Carneiro Airport to Basel via Bordeaux
- Ave. Duration
- 5h 45m
- When
- Friday and Sunday
- Estimated price
- CHF 40–180
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 30m
- When
- Tuesday
- Estimated price
- CHF 29–130
- Website
- ryanair.com
Flights from Francisco De Sá Carneiro Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- CHF 45–140
Flights from Francisco De Sá Carneiro Airport to Il Caravaggio International Airport via Valencia
- Ave. Duration
- 5h 7m
- When
- Every day
- Estimated price
- CHF 45–140
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- CHF 40–140
- Website
- swiss.com
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 32m
- When
- Every day
- Estimated price
- CHF 60–120
Flights from Francisco De Sá Carneiro Airport to Zurich Airport via Geneva
- Ave. Duration
- 4h 35m
- When
- Every day
- Estimated price
- CHF 60–110
- Website
- flytap.com
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 32m
- When
- Every day
- Estimated price
- CHF 60–120
- Website
- iberia.com
Flights from Francisco De Sá Carneiro Airport to Milan Linate Airport via Madrid
- Ave. Duration
- 4h 50m
- When
- Every day
- Estimated price
- CHF 75–180
- Website
- comlux.com
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 30m
- When
- Wednesday
- Estimated price
- CHF 55–160
- Website
- flexflight.dk
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 30m
- When
- Wednesday
- Estimated price
- CHF 55–160
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zürich HB to Chur
- Ave. Duration
- 1h 15m
- Frequency
- Every 30 minutes
- Estimated price
- CHF 35–110
- Website
- https://www.sbb.ch/en
Train from Chur to St. Moritz
- Ave. Duration
- 1h 57m
- Frequency
- Once daily
- Estimated price
- CHF 26–75
- Website
- https://www.sbb.ch/en
Train from Genève to Brig
- Ave. Duration
- 2h 27m
- Frequency
- Every 30 minutes
- Estimated price
- CHF 65–190
- Website
- https://www.sbb.ch/en
Train from Basel SBB to Chur
- Ave. Duration
- 2h 15m
- Frequency
- Every 3 hours
- Estimated price
- CHF 65–190
- Website
- https://www.sbb.ch/en
- Phone
- +41 58 580 70 70
- Website
- sob.ch
Train from Zürich HB to Chur
- Ave. Duration
- 1h 36m
- Frequency
- Hourly
- Estimated price
- CHF 35–55
- Schedules at
- sob.ch
- Phone
- +41 81 288 65 65
- railservice@rhb.ch
- Website
- rhb.ch
Train from Chur to St. Moritz
- Ave. Duration
- 1h 57m
- Frequency
- Hourly
- Website
- https://www.rhb.ch/en/
- Phone
- +41 81 288 65 65
- info@glacierexpress.ch
- Website
- glacierexpress.ch
Train from Brig to St. Moritz
- Ave. Duration
- 6h 15m
- Frequency
- 3 times a day
- Schedules at
- glacierexpress.ch
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Monza to Colico
- Ave. Duration
- 1h 12m
- Frequency
- Hourly
- Estimated price
- CHF 4–5
- Website
- https://www.trenord.it/en/
Train from Milano Centrale to Colico
- Ave. Duration
- 1h 24m
- Frequency
- Hourly
- Estimated price
- CHF 6–8
- Website
- https://www.trenord.it/en/
Train from Malpensa Aeroporto T1 to Milano Centrale
- Ave. Duration
- 56 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 4–5
- Website
- https://www.trenord.it/en/
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- sbb-deutschland.de
Train from Basel SBB to Chur
- Ave. Duration
- 2h 15m
- Frequency
- 4 times a day
- Estimated price
- CHF 15–19
- Schedules at
- sbb-deutschland.de
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Porto - Terminal Intermodal de Campanhã to Lyon - Gerland Bus Station
- Ave. Duration
- 21h 10m
- Frequency
- Twice daily
- Estimated price
- CHF 95–180
- Website
- https://www.blablacar.co.uk/bus
Bus from Lyon to Geneva
- Ave. Duration
- 2h 35m
- Frequency
- Every 2 hours
- Estimated price
- CHF 9–18
- Website
- https://www.blablacar.co.uk/bus
Bus from Porto - Terminal Intermodal de Campanhã to Strasbourg - L'Étoile Park Bus Station
- Ave. Duration
- 31h 5m
- Frequency
- 6 times a week
- Estimated price
- CHF 140–280
- Website
- https://www.blablacar.co.uk/bus
Bus from Strasbourg - L'Étoile Park Bus Station to Lugano
- Ave. Duration
- 6h 40m
- Frequency
- Once daily
- Estimated price
- CHF 26–50
- Website
- https://www.blablacar.co.uk/bus
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Lyon to Geneva
- Ave. Duration
- 2h 15m
- Frequency
- Every 3 hours
- Estimated price
- CHF 9–17
- Website
- https://www.flixbus.co.uk
- Phone
- +41 (0)848 818 818
- info@postauto.ch
- Website
- postauto.ch
Bus from Chiavenna, Stazione to St. Moritz, Bahnhof
- Ave. Duration
- 1h 38m
- Frequency
- Hourly
- Estimated price
- CHF 5–8
- Website
- https://www.postauto.ch
Bus from Lugano, Stazione Nord to St. Moritz, Bahnhof
- Ave. Duration
- 3h 20m
- Frequency
- Once daily
- Estimated price
- CHF 10–15
- Website
- https://www.postauto.ch
- Phone
- (+351) 258 454 303
- info@barquense.com
- Website
- barquense.pt
Bus from Porto - Hospital de São João to Lyon, Perrache Bus Station
- Ave. Duration
- 24h 38m
- Frequency
- Once a week
- Estimated price
- CHF 65–85
- Schedules at
- barquense.pt
- Book at
- barquense.pt
- Phone
- +34 910 207 007
- Website
- alsa.es
Bus from Lyon, Perrache Bus Station to Geneva - Bus station
- Ave. Duration
- 2h
- Frequency
- 4 times a week
- Estimated price
- CHF 11–23
- Website
- https://www.alsa.com/en
Want to know more about travelling around Switzerland
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Book your Porto to St. Moritz bus tickets online with Omio.
There are 2311+ hotels available in St. Moritz.




















































