There are 11 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)OPO - ZRH
- Take the train from Zürich HB to Chur
- Take the train from Chur to St. Moritz
9h 10mCHF 103–275Fly to Milan Linate Airport, train, bus
cheapest- Fly from Francisco De Sá Carneiro Airport (OPO) to Milan Linate Airport (LIN)OPO - LIN
- Take the train from Monza to Colico
- Take the bus from Chiavenna, Stazione to St. Moritz, Bahnhof
11h 18mCHF 45–223Train, bus via Geneva
- Take the train from Porto Campanha to Coimbra-BIc / ...
- Take the bus from Coimbra to Geneva - Bus Station
- Take the train from Nyon to ChurIc
- Take the train from Chur to St. MoritzGex / ...
36h 18mCHF 242–452Drive 2,026 km
- Drive from Porto to St. Moritz2,026 km
21h 58mCHF 323–466Fly to Basel, train
- Fly from Francisco De Sá Carneiro Airport (OPO) to Basel (BSL)OPO - BSL
- Take the train from Basel SBB to Chur
- Take the train from Chur to St. Moritz
11h 5mCHF 110–352Fly to Il Caravaggio International Airport, train, bus
- Fly from Francisco De Sá Carneiro Airport (OPO) to Il Caravaggio International Airport (BGY)OPO - BGY
- Take the train from Milano Centrale to Colico
- Take the bus from Chiavenna, Stazione to St. Moritz, Bahnhof
11h 39mCHF 78–315Fly to Milano Malpensa Airport, train, bus
- Fly from Francisco De Sá Carneiro Airport (OPO) to Milano Malpensa Airport (MXP)OPO - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Centrale
- Take the train from Milano Centrale to Colico
- Take the bus from Chiavenna, Stazione to St. Moritz, Bahnhof
11h 51mCHF 53–174Bus, train
- Take the bus from Porto to Martigny
- Take the train from Martigny to BrigIr
- Take the train from Brig to St. Moritz902 / ...
38h 48mBus, train via Lyon
- Take the bus from Porto - Hospital de São João to Lyon, Perrache Bus Station
- Take the bus from Lyon, Perrache Bus Station to Geneva - Bus station
- Take the train from Genève to BrigEc / ...
- Take the train from Brig to St. Moritz902 / ...
38h 59mTrain, bus
- Take the train from Porto Campanha to Coimbra-BIc / ...
- Take the bus from Coimbra to Zurich Bus Station
- Take the train from Zürich HB to ChurIc3 / ...
- Take the train from Chur to St. MoritzGex / ...
39h 2mCHF 203–323Bus
- Take the bus from Porto - Terminal Intermodal de Campanhã to Estação Rodoviária de Viseu
- Take the bus from Viseu to Bern
- Take the bus from Bern to Bregenz bus station106
- Take the bus from Bregenz bus station to Chur station train station076
- Take the bus from Chur, Postautostation to St. Moritz, Bahnhof182
40hCHF 130–189
Porto to St. Moritz by train, foot, and bus
Questions & Answers
The cheapest way to get from Porto to St. Moritz is to fly and train and bus which costs SFr 50 - SFr 180 and takes 11h 51m.
The fastest way to get from Porto to St. Moritz is to fly and train which takes 9h 10m and costs SFr 100 - SFr 280.
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 Viseu, Bern, Bregenz bus station and Chur, Postautostation. The journey, including transfers, takes approximately 40h.
The distance between Porto and St. Moritz is 1751 km. The road distance is 2026 km.
The best way to get from Porto to St. Moritz without a car is to train and bus via Geneva which takes 36h 18m and costs SFr 240 - SFr 460.
It takes approximately 9h 10m to get from Porto to St. Moritz, including transfers.
Porto to St. Moritz bus services, operated by Rede Expressos, depart from Porto - Terminal Intermodal de Campanhã station.
Porto to St. Moritz bus services, operated by Rede Expressos, arrive at Estação Rodoviária de Viseu station.
St. Moritz is 1h ahead of Porto. It is currently 3:50 PM in Porto and 4:50 PM in St. Moritz.
Yes, the driving distance between Porto to St. Moritz is 2026 km. It takes approximately 21h 58m 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 Viseu, Bern, Bregenz bus station, Chur station train station, and Chur, Postautostation in around 40h.
- Website
- easyjet.com
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 34m
- When
- Every day
- Estimated price
- CHF 35–120
Flights from Francisco De Sá Carneiro Airport to Basel
- Ave. Duration
- 2h 27m
- When
- Every day
- Estimated price
- CHF 40–210
Flights from Francisco De Sá Carneiro Airport to Basel via Nice
- Ave. Duration
- 5h 25m
- When
- Sunday
- Estimated price
- CHF 40–210
Flights from Francisco De Sá Carneiro Airport to Milan Linate Airport
- Ave. Duration
- 2h 30m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- CHF 30–180
Flights from Francisco De Sá Carneiro Airport to Milan Linate Airport via Paris Orly
- Ave. Duration
- 5h 25m
- When
- Wednesday, Thursday, and Saturday
- Estimated price
- CHF 30–180
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 27m
- When
- Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- CHF 26–85
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport via Bordeaux
- Ave. Duration
- 4h 5m
- When
- Monday
- Estimated price
- CHF 26–85
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport via Nantes
- Ave. Duration
- 5h 40m
- When
- Friday
- Estimated price
- CHF 26–85
- Website
- ryanair.com
Flights from Francisco De Sá Carneiro Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- CHF 60–190
Flights from Francisco De Sá Carneiro Airport to Il Caravaggio International Airport via Marseille
- Ave. Duration
- 5h 41m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- CHF 60–190
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 40m
- When
- Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- CHF 45–150
- Website
- swiss.com
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 31m
- When
- Every day
- Estimated price
- CHF 50–150
- Website
- flytap.com
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 31m
- When
- Every day
- Estimated price
- CHF 50–150
- Website
- comlux.com
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 30m
- When
- Wednesday
- Estimated price
- CHF 95–480
- Website
- flexflight.dk
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 30m
- When
- Wednesday
- Estimated price
- CHF 95–480
- Website
- iberia.com
Flights from Francisco De Sá Carneiro Airport to Milan Linate Airport via Madrid
- Ave. Duration
- 5h
- When
- Every day
- Estimated price
- CHF 75–200
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zürich HB to Chur
- Ave. Duration
- 1h 14m
- Frequency
- Hourly
- Estimated price
- CHF 23–45
- Website
- https://www.sbb.ch/en
Train from Chur to St. Moritz
- Ave. Duration
- 1h 55m
- Frequency
- Once daily
- Estimated price
- CHF 35–60
- Website
- https://www.sbb.ch/en
Train from Nyon to Chur
- Ave. Duration
- 4h 8m
- Frequency
- Once daily
- Estimated price
- CHF 110–200
- Website
- https://www.sbb.ch/en
Train from Basel SBB to Chur
- Ave. Duration
- 2h 19m
- Frequency
- Every 3 hours
- Estimated price
- CHF 35–75
- Website
- https://www.sbb.ch/en
Train from Martigny to Brig
- Ave. Duration
- 49 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 14–29
- Website
- https://www.sbb.ch/en
Train from Genève to Brig
- Ave. Duration
- 2h 27m
- Frequency
- Every 30 minutes
- Estimated price
- CHF 35–70
- Website
- https://www.sbb.ch/en
- Phone
- +41 58 580 70 70
- info@sob.ch
- Website
- sob.ch
Train from Zürich HB to Chur
- Ave. Duration
- 1h 36m
- Frequency
- Hourly
- Schedules at
- sob.ch
- Phone
- +41 81 288 65 65
- Website
- rhb.ch
Train from Chur to St. Moritz
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Website
- https://www.rhb.ch/en/home
- Phone
- +351 210 900 032
- Website
- cp.pt
Train from Porto Campanha to Coimbra-B
- Ave. Duration
- 1h 1m
- Frequency
- Hourly
- Estimated price
- CHF 5–18
- Website
- https://www.cp.pt/passageiros/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–20
- Schedules at
- sbb-deutschland.de
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Monza to Colico
- Ave. Duration
- 1h 14m
- Frequency
- Hourly
- Estimated price
- CHF 4–6
- Website
- https://www.trenord.it/en/
Train from Milano Centrale to Colico
- Ave. Duration
- 1h 26m
- Frequency
- Hourly
- Estimated price
- CHF 6–8
- Website
- https://www.trenord.it/en/
Train from Malpensa Aeroporto T1 to Milano Centrale
- Ave. Duration
- 54 min
- Frequency
- Hourly
- Estimated price
- CHF 4–6
- Website
- https://www.trenord.it/en/
- Phone
- +39 02-72494949
- Website
- malpensaexpress.it
Train from Malpensa Aeroporto T1 to Milano Centrale
- Ave. Duration
- 54 min
- Frequency
- Hourly
- Estimated price
- CHF 14
- Website
- https://www.malpensaexpress.it/en/
- Phone
- +41 27 720 47 47
- info@regionalps.ch
- Website
- regionalps.ch
Train from Martigny to Brig
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Estimated price
- CHF 25–51
- Schedules at
- regionalps.ch
- 2nd Class Ticket
- CHF 25–29
- 1st Class Ticket
- CHF 45–51
- 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
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Coimbra to Geneva - Bus Station
- Ave. Duration
- 24h 55m
- Frequency
- Once daily
- Estimated price
- CHF 90–130
- Website
- https://www.blablacar.co.uk/bus
Bus from Viseu to Bern
- Ave. Duration
- 25h 55m
- Frequency
- Once daily
- Estimated price
- CHF 95–130
- 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 Coimbra to Geneva - Bus Station
- Ave. Duration
- 28h 40m
- Frequency
- 3 times a week
- Estimated price
- CHF 110–170
- Website
- https://www.flixbus.co.uk
Bus from Porto to Martigny
- Ave. Duration
- 30h 35m
- Frequency
- 3 times a week
- Estimated price
- CHF 130–180
- Website
- https://www.flixbus.co.uk
Bus from Coimbra to Zurich Bus Station
- Ave. Duration
- 32h 50m
- Frequency
- 3 times a week
- Estimated price
- CHF 140–200
- Website
- https://www.flixbus.co.uk
Bus from Bern to Bregenz bus station
- Ave. Duration
- 3h 40m
- Frequency
- Twice daily
- Estimated price
- CHF 17–25
- Website
- https://www.flixbus.co.uk
Bus from Bregenz bus station to Chur station train station
- Ave. Duration
- 2h 5m
- Frequency
- Once daily
- Estimated price
- CHF 7–12
- 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 Chur, Postautostation to St. Moritz, Bahnhof
- Ave. Duration
- 2h 35m
- Frequency
- Once daily
- Estimated price
- CHF 7–10
- 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
- alsa@alsa.es
- Website
- alsa.com
Bus from Lyon, Perrache Bus Station to Geneva - Bus station
- Ave. Duration
- 2h
- Frequency
- 4 times a week
- Estimated price
- CHF 18–55
- Website
- https://www.alsa.com/en/
- Phone
- +351 21 75 24 524
- Website
- rede-expressos.pt
Bus from Porto - Terminal Intermodal de Campanhã to Estação Rodoviária de Viseu
- Ave. Duration
- 1h 45m
- Frequency
- Hourly
- Estimated price
- CHF 3–13
- Website
- https://rede-expressos.pt/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
Want to know more about Flixbus?
Read the travel guide
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
More Questions & Answers
There are 2049+ hotels available in St. Moritz.






































































