There are 9 ways to get from Zurich to Porto by plane, train, bus, train (TGV, Renfe), 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 from Zurich Airport
best- Fly from Zurich Airport (ZRH) to Francisco De Sá Carneiro Airport (OPO)plane ZRH - OPO
5h 28m€54–161Train, bus via Lyon
- Take the train from Zürich HB to Mulhousetrain Tgv
- Take the train from Mulhouse Ville to Lyon Perrachetrain Tgv
- Take the bus from Lyon - Perrache Bus Station to Porto - TIC Campanhãbus
27h 15m€201–331Train
- Take the train from Zürich HB to Mulhousetrain Tgv
- Take the train from Mulhouse Ville to Montpellier Saint-Rochtrain Tgv
- Take the train from Montpellier Saint-Roch to Madrid-Puerta de Atocha-Almudena Grandestrain
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Badajoztrain Alv
- Take the train from Badajoz to Entroncamentotrain Re
- Take the train from Entroncamento to Porto Campanhatrain Ic / ...
27h 16m€243–480Drive 1,867.5 km
- Drive from Zurich to Portocar 1,867.5 km
19h 14m€318–458Train to Basel, fly
- Take the train from Zürich HB to Basel SBBtrain
- Fly from Basel (BSL) to Francisco De Sá Carneiro Airport (OPO)plane BSL - OPO
6h 32m€59–250Train to Geneva International Airport, fly
- Take the train from Zürich HB to Genève-Aéroporttrain
- Fly from Geneva International Airport (GVA) to Francisco De Sá Carneiro Airport (OPO)plane GVA - OPO
8h 16m€101–296Bus
- Take the bus from Zurich Bus Station to Bernbus
- Take the bus from Bern to Viseubus
- Take the bus from Estação Rodoviária de Viseu to Porto - Terminal Intermodal de Campanhãbus
30h 56m€111–170Bus via Lyon
- Take the bus from Zurich Central Bus Station Sihlquai to Lyon Perrache Bus Stationbus RegioJet 95
- Take the bus from Lyon, Perrache Bus Station to Porto - Hospital de São Joãobus Linha Lyon Express
32h 9m€96–134Train, bus
- Take the train from Zürich HB to Lausannetrain Ic5 / ...
- Take the bus from Lausanne to Portobus FlixBus N1157
32h 15m€119–218
Zurich to Porto by train and bus
Questions & Answers
The cheapest way to get from Zurich to Porto is to fly which costs €50 - €170 and takes 5h 28m.
The fastest way to get from Zurich to Porto is to fly which takes 5h 28m and costs €50 - €170.
No, there is no direct bus from Zurich station to Porto. However, there are services departing from Zurich Bus Station and arriving at Porto - Terminal Intermodal de Campanhã via Bern and Estação Rodoviária de Viseu. The journey, including transfers, takes approximately 30h 56m.
No, there is no direct train from Zurich to Porto. However, there are services departing from Zürich HB and arriving at Porto Campanha via Mulhouse Ville, Montpellier Saint-Roch, Madrid-Puerta de Atocha-Almudena Grandes, Badajoz and Entroncamento. The journey, including transfers, takes approximately 27h 16m.
The distance between Zurich and Porto is 1555 km. The road distance is 1867.5 km.
The best way to get from Zurich to Porto without a car is to train and bus via Lyon which takes 27h 15m and costs €200 - €340.
It takes approximately 5h 28m to get from Zurich to Porto, including transfers.
Zurich to Porto bus services, operated by FlixBus, depart from Zurich Bus Station.
Zurich to Porto train services, operated by Swiss Federal Railways (SBB CFF FFS), depart from Zürich HB station.
The best way to get from Zurich to Porto is to fly which takes 5h 28m and costs €50 - €170. Alternatively, you can train, which costs €240 - €480 and takes 27h 16m, you could also bus, which costs €110 - €170 and takes 30h 56m.
What companies run services between Zurich, Switzerland and Porto, Portugal?
easyJet, Swiss, and three other airlines fly from Zurich Airport (ZRH) to Francisco De Sá Carneiro Airport (OPO) 5 times a day. Alternatively, you can take a train from Zürich HB to Porto Campanha via Mulhouse, Mulhouse Ville, Montpellier Saint-Roch, Madrid-Puerta de Atocha-Almudena Grandes, Badajoz, and Entroncamento in around 27h 16m.
- Website
- easyjet.com
Flights from Zurich Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 47m
- When
- Every day
- Estimated price
- €40–120
Flights from Basel to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 42m
- When
- Every day
- Estimated price
- €40–210
Flights from Basel to Francisco De Sá Carneiro Airport via Bordeaux
- Ave. Duration
- 5h 36m
- When
- Monday, Thursday, and Friday
- Estimated price
- €40–210
Flights from Basel to Francisco De Sá Carneiro Airport via Nantes
- Ave. Duration
- 5h 10m
- When
- Friday
- Estimated price
- €40–210
Flights from Geneva International Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 24m
- When
- Every day
- Estimated price
- €30–170
Flights from Geneva International Airport to Francisco De Sá Carneiro Airport via Nantes
- Ave. Duration
- 4h 30m
- When
- Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- €30–170
Flights from Geneva International Airport to Francisco De Sá Carneiro Airport via Bordeaux
- Ave. Duration
- 5h
- When
- Monday, Thursday, and Sunday
- Estimated price
- €30–170
- Website
- swiss.com
Flights from Zurich Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 43m
- When
- Every day
- Estimated price
- €55–130
Flights from Zurich Airport to Francisco De Sá Carneiro Airport via Geneva International Airport
- Ave. Duration
- 5h 30m
- When
- Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- €60–130
Flights from Geneva International Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €65–300
- Website
- flytap.com
Flights from Zurich Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 43m
- When
- Every day
- Estimated price
- €55–130
Flights from Geneva International Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €65–300
- Website
- comlux.com
Flights from Zurich Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 40m
- When
- Wednesday
- Estimated price
- €65–380
- Website
- flexflight.dk
Flights from Zurich Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 40m
- When
- Wednesday
- Estimated price
- €65–380
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zürich HB to Mulhouse
- Ave. Duration
- 1h 19m
- Frequency
- Every 4 hours
- Estimated price
- €45–85
- Website
- https://www.sbb.ch/en
Train from Zürich HB to Genève-Aéroport
- Ave. Duration
- 3h 5m
- Frequency
- Hourly
- Estimated price
- €55–110
- Website
- https://www.sbb.ch/en
Train from Zürich HB to Lausanne
- Ave. Duration
- 2h 22m
- Frequency
- Hourly
- Estimated price
- €45–85
- Website
- https://www.sbb.ch/en
- Phone
- +33 1 84 94 36 35
- Website
- sncf-connect.com
Train from Mulhouse Ville to Lyon Perrache
- Ave. Duration
- 3h 6m
- Frequency
- Once a week
- Estimated price
- €65–120
- Website
- https://www.sncf-connect.com/en-en
- 2nd Class
- €65–90
- 1st Class
- €95–120
Train from Mulhouse Ville to Montpellier Saint-Roch
- Ave. Duration
- 5h
- Frequency
- Twice daily
- Estimated price
- €75–170
- Website
- https://www.sncf-connect.com/en-en
Rome2Rio's guide to Renfe Viajeros
Contact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Montpellier Saint-Roch to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 6h 44m
- Frequency
- Once daily
- Estimated price
- €75–110
- Website
- https://www.renfe.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Badajoz
- Ave. Duration
- 4h 18m
- Frequency
- 3 times a day
- Estimated price
- €19–70
- Website
- https://www.renfe.com/es/en
- Phone
- +351 210 900 032
- Website
- cp.pt
Train from Badajoz to Entroncamento
- Ave. Duration
- 2h 45m
- Frequency
- Twice daily
- Estimated price
- €14
- Website
- https://www.cp.pt/passageiros/en
Train from Entroncamento to Porto Campanha
- Ave. Duration
- 2h 10m
- Frequency
- Every 3 hours
- Estimated price
- €14–35
- Website
- https://www.cp.pt/passageiros/en
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- sbb-deutschland.de
Train from Zürich HB to Basel SBB
- Ave. Duration
- 53 min
- Frequency
- Every 2 hours
- Estimated price
- €8–11
- Schedules at
- sbb-deutschland.de
- Phone
- +49 30 311 682904
- Website
- bahn.de
Train from Zürich HB to Basel SBB
- Ave. Duration
- 53 min
- Frequency
- 3 times a day
- Estimated price
- €28–32
- Website
- https://int.bahn.de/en
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Lyon - Perrache Bus Station to Porto - TIC Campanhã
- Ave. Duration
- 20h 50m
- Frequency
- Once daily
- Estimated price
- €90–130
- Website
- https://www.blablacar.co.uk/bus
Bus from Bern to Viseu
- Ave. Duration
- 25h 45m
- Frequency
- Once daily
- Estimated price
- €100–140
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Zurich Bus Station to Bern
- Ave. Duration
- 1h 35m
- Frequency
- Every 4 hours
- Estimated price
- €11–17
- Website
- https://www.flixbus.co.uk
Bus from Lausanne to Porto
- Ave. Duration
- 28h 30m
- Frequency
- 3 times a week
- Estimated price
- €65–130
- Website
- https://www.flixbus.co.uk
- Phone
- +420 222 222 221
- info@regiojet.cz
- Website
- regiojet.com
Bus from Zurich Bus Station to Bern
- Ave. Duration
- 1h 45m
- Frequency
- Once a week
- Estimated price
- €7–11
- Website
- https://regiojet.com/
Bus from Zurich Central Bus Station Sihlquai to Lyon Perrache Bus Station
- Ave. Duration
- 6h 15m
- Frequency
- Once a week
- Estimated price
- €25–40
- Website
- https://regiojet.com/
- Phone
- +351 21 75 24 524
- Website
- rede-expressos.pt
Bus from Estação Rodoviária de Viseu to Porto - Terminal Intermodal de Campanhã
- Ave. Duration
- 1h 45m
- Frequency
- Hourly
- Estimated price
- €4–14
- Website
- https://rede-expressos.pt/en
- Phone
- (+351) 258 454 303
- info@barquense.com
- Website
- barquense.pt
Bus from Lyon, Perrache Bus Station to Porto - Hospital de São João
- Ave. Duration
- 24h 38m
- Frequency
- Once a week
- Estimated price
- €70–95
- Schedules at
- barquense.pt
- Book at
- barquense.pt
Want to know more about travelling around Portugal
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
Train travel in Spain: A guide to Renfe
Read the travel guide
More Questions & Answers
Zurich to Porto bus services, operated by FlixBus, arrive at Bern station.
Porto is 1h behind Zurich. It is currently 3:31 AM in Zurich and 2:31 AM in Porto.
Zurich to Porto train services, operated by Swiss Federal Railways (SBB CFF FFS), arrive at Mulhouse station.
Yes, the driving distance between Zurich to Porto is 1868 km. It takes approximately 19h 14m to drive from Zurich to Porto.
Book your Zurich to Porto train tickets online with Omio.
There are 6294+ hotels available in Porto.
















































