There are 9 ways to get from Zermatt to Porto by train, plane, or bus
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train to Geneva International Airport, fly
best- Take the train from Visp to Genève-Aéroporttrain
- Fly from Geneva International Airport (GVA) to Francisco De Sá Carneiro Airport (OPO)plane GVA - OPO
9h 12m€99–324Train, train to Milano Malpensa Airport, fly
cheapest- Take the train from Zermatt, Bahnhof to Brig Bahnhofplatztrain
- Take the train from Domodossola to Busto Arsiziotrain
- Fly from Milano Malpensa Airport (MXP) to Francisco De Sá Carneiro Airport (OPO)plane MXP - OPO
10h 15m€78–254Train, bus
- Take the train from Visp to Martignytrain Ir90 / ...
- Take the bus from Martigny to Portobus FlixBus N1157
32h 30m€175–311Train, bus via Barcelona
- Take the train from Visp to Genèvetrain Ir / ...
- Take the bus from Geneva to Barcelonabus
- Take the train from Barcelona-Sants to Porrinotrain Alv
- Take the train from Porrino to Porto Campanhatrain Ic
33h 39m€210–439Train to Basel, fly
- Take the train from Visp to Basel SBBtrain
- Fly from Basel (BSL) to Francisco De Sá Carneiro Airport (OPO)plane BSL - OPO
9h 37m€98–384Train, train to Zurich Airport, fly
- Take the train from Visp to Berntrain
- Take the train from Bern to Zürich Flughafentrain
- Fly from Zurich Airport (ZRH) to Francisco De Sá Carneiro Airport (OPO)plane ZRH - OPO
9h 30m€139–354Train, train to Milan Linate Airport, fly
- Take the train from Zermatt, Bahnhof to Brig Bahnhofplatztrain
- Take the train from Domodossola to Rho Fiera Milanotrain
- Fly from Milan Linate Airport (LIN) to Francisco De Sá Carneiro Airport (OPO)plane LIN - OPO
10h 46m€79–316Train, bus to Il Caravaggio International Airport, fly
- Take the train from Zermatt, Bahnhof to Brig Bahnhofplatztrain
- Take the train from Domodossola to Milano Centraletrain
- Take the bus from Piazza Luigi di Savoia to Bergamo Airport Bus Stationbus
- Fly from Il Caravaggio International Airport (BGY) to Francisco De Sá Carneiro Airport (OPO)plane BGY - OPO
11h 31m€112–399Train, bus via Lyon
- Take the train from Visp to Genèvetrain Ir / ...
- Take the bus from Geneva - Bus station to Lyon, Perrache Bus Stationbus
- Take the bus from Lyon, Perrache Bus Station to Porto - Hospital de São Joãobus
32h 51m€148–308
Zermatt to Porto by train and bus
Questions & Answers
The cheapest way to get from Zermatt to Porto is to train and fly which costs €75 - €260 and takes 10h 15m.
The fastest way to get from Zermatt to Porto is to train and fly which takes 9h 12m and costs €95 - €330.
The distance between Zermatt and Porto is 1559 km.
The best way to get from Zermatt to Porto without a car is to train and bus which takes 32h 30m and costs €170 - €320.
It takes approximately 9h 12m to get from Zermatt to Porto, including transfers.
Porto is 1h behind Zermatt. It is currently 10:44 PM in Zermatt and 9:44 PM in Porto.
There are 6204+ hotels available in Porto.
What companies run services between Zermatt, Switzerland and Porto, Portugal?
There is no direct connection from Zermatt to Porto. However, you can take the train to Visp, take the train to Genève-Aéroport, walk to Geneva International Airport (GVA) airport, fly to Francisco De Sá Carneiro Airport (OPO), walk to Aeroporto Francisco Sá Carneiro (OPO) Metro, then take the subway to Trindade. Alternatively, you can take a train from Zermatt, Bahnhof to Porto via Visp, Martigny, and Martigny in around 32h 30m.
- Website
- easyjet.com
Flights from Geneva International Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 24m
- When
- Every day
- Estimated price
- €30–180
Flights from Geneva International Airport to Francisco De Sá Carneiro Airport via Nantes
- Ave. Duration
- 4h 20m
- When
- Monday and Tuesday
- Estimated price
- €30–180
Flights from Geneva International Airport to Francisco De Sá Carneiro Airport via Paris Orly
- Ave. Duration
- 4h 20m
- When
- Friday and Sunday
- Estimated price
- €30–180
Flights from Basel to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 41m
- When
- Every day
- Estimated price
- €45–230
Flights from Zurich Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 45m
- When
- Every day
- Estimated price
- €40–130
Flights from Milano Malpensa Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 45m
- When
- Tuesday and Saturday
- Estimated price
- €28–90
Flights from Milano Malpensa Airport to Francisco De Sá Carneiro Airport via Bordeaux
- Ave. Duration
- 6h 15m
- When
- Friday and Sunday
- Estimated price
- €28–90
Flights from Milan Linate Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 45m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- €30–210
Flights from Milan Linate Airport to Francisco De Sá Carneiro Airport via Paris Orly
- Ave. Duration
- 6h 5m
- When
- Sunday
- Estimated price
- €30–210
- Website
- swiss.com
Flights from Geneva International Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €60–230
Flights from Zurich Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 43m
- When
- Every day
- Estimated price
- €55–150
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–150
- Website
- ryanair.com
Flights from Milano Malpensa Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 40m
- When
- Tuesday, Thursday, and Sunday
- Estimated price
- €50–200
Flights from Milano Malpensa Airport to Francisco De Sá Carneiro Airport via Valencia
- Ave. Duration
- 5h 5m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €50–200
Flights from Il Caravaggio International Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- €65–200
Flights from Il Caravaggio International Airport to Francisco De Sá Carneiro Airport via Valencia
- Ave. Duration
- 5h 15m
- When
- Friday
- Estimated price
- €65–200
- Website
- flytap.com
Flights from Geneva International Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €60–230
Flights from Zurich Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 43m
- When
- Every day
- Estimated price
- €55–150
- Website
- iberia.com
Flights from Geneva International Airport to Francisco De Sá Carneiro Airport via Madrid
- Ave. Duration
- 4h 25m
- When
- Every day
- Estimated price
- €50–210
Flights from Milan Linate Airport to Francisco De Sá Carneiro Airport via Madrid
- Ave. Duration
- 5h 42m
- When
- Every day
- Estimated price
- €85–220
- Website
- comlux.com
Flights from Zurich Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 40m
- When
- Wednesday
- Estimated price
- €100–500
- Website
- flexflight.dk
Flights from Zurich Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 40m
- When
- Wednesday
- Estimated price
- €100–500
- Website
- aireuropa.com
Flights from Geneva International Airport to Francisco De Sá Carneiro Airport via Madrid
- Ave. Duration
- 5h 30m
- When
- Friday and Saturday
- Estimated price
- €80–200
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Visp to Genève-Aéroport
- Ave. Duration
- 2h 29m
- Frequency
- Hourly
- Estimated price
- €35–75
- Website
- https://www.sbb.ch/en
Train from Visp to Martigny
- Ave. Duration
- 40 min
- Frequency
- Every 30 minutes
- Estimated price
- €13–28
- Website
- https://www.sbb.ch/en
Train from Visp to Genève
- Ave. Duration
- 2h 19m
- Frequency
- Hourly
- Estimated price
- €35–75
- Website
- https://www.sbb.ch/en
Train from Visp to Basel SBB
- Ave. Duration
- 2h 7m
- Frequency
- Hourly
- Estimated price
- €50–100
- Website
- https://www.sbb.ch/en
Train from Visp to Bern
- Ave. Duration
- 59 min
- Frequency
- Hourly
- Estimated price
- €35–65
- Website
- https://www.sbb.ch/en
Train from Bern to Zürich Flughafen
- Ave. Duration
- 1h 20m
- Frequency
- Hourly
- Estimated price
- €35–70
- Website
- https://www.sbb.ch/en
- Phone
- +41 27 720 47 47
- info@regionalps.ch
- Website
- regionalps.ch
Train from Visp to Martigny
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- €24–49
- Schedules at
- regionalps.ch
- 2nd Class Ticket
- €24–29
- 1st Class Ticket
- €44–49
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Visp to Martigny
- Ave. Duration
- 40 min
- Frequency
- 5 times a week
- Estimated price
- €23–65
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €45–65
- 2nd Class
- €23–30
Train from Visp to Genève
- Ave. Duration
- 2h 31m
- Frequency
- 5 times a week
- Estimated price
- €45–95
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €65–95
- 2nd Class
- €45–65
Train from Visp to Basel SBB
- Ave. Duration
- 2h 1m
- Frequency
- 3 times a day
- Estimated price
- €45–95
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €65–95
- 2nd Class
- €45–65
Rome2Rio's guide to Renfe Viajeros
Contact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Barcelona-Sants to Porrino
- Ave. Duration
- 13h 20m
- Frequency
- 3 times a week
- Estimated price
- €100–140
- Website
- https://www.renfe.com/es/en
Train from Porrino to Porto Campanha
- Ave. Duration
- 2h 3m
- Frequency
- Twice daily
- Estimated price
- €13–18
- Website
- https://www.renfe.com/es/en
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- sbb-deutschland.de
Train from Visp to Basel SBB
- Ave. Duration
- 2h 6m
- Frequency
- Twice daily
- Estimated price
- €16–20
- Schedules at
- sbb-deutschland.de
- Phone
- +41 (0)848 642 442
- railcenter@mgbahn.ch
- Website
- matterhorngotthardbahn.ch
Train from Zermatt, Bahnhof to Brig Bahnhofplatz
- Ave. Duration
- 1h 26m
- Frequency
- Hourly
- Estimated price
- €27–60
- Website
- Matterhorn Gotthard Bahn
- Schedules at
- Swiss Railways
- 2nd Class Ticket
- €27–33
- 1st Class Ticket
- €45–60
- Phone
- +41 81 288 65 65
- info@glacierexpress.ch
- Website
- glacierexpress.ch
Train from Zermatt, Bahnhof to Brig Bahnhofplatz
- Ave. Duration
- 1h 14m
- Frequency
- 3 times a day
- Schedules at
- glacierexpress.ch
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Domodossola to Busto Arsizio
- Ave. Duration
- 1h 6m
- Frequency
- Every 3 hours
- Estimated price
- €6–9
- Website
- https://www.trenord.it/en/
Train from Domodossola to Rho Fiera Milano
- Ave. Duration
- 1h 24m
- Frequency
- Every 3 hours
- Estimated price
- €8–10
- Website
- https://www.trenord.it/en/
Train from Domodossola to Milano Centrale
- Ave. Duration
- 1h 44m
- Frequency
- Every 2 hours
- Estimated price
- €8–11
- Website
- https://www.trenord.it/en/
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Domodossola to Busto Arsizio
- Ave. Duration
- 1h 45m
- Frequency
- Every 4 hours
- Estimated price
- €6–10
- Website
- https://www.trenitalia.com/en.html
Train from Domodossola to Rho Fiera Milano
- Ave. Duration
- 2h 3m
- Frequency
- Every 4 hours
- Estimated price
- €7–12
- Website
- https://www.trenitalia.com/en.html
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Martigny to Porto
- Ave. Duration
- 29h 30m
- Frequency
- 4 times a week
- Estimated price
- €140–200
- Website
- https://www.flixbus.co.uk
Bus from Geneva to Barcelona
- Ave. Duration
- 11h 20m
- Frequency
- Once daily
- Estimated price
- €40–140
- Website
- https://www.flixbus.co.uk
- info@flibco.com
- Website
- flibco.com
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €8–10
- Website
- https://www.flibco.com/en
- Phone
- +39 02 3008 9000
- mail@autostradale.it
- Website
- autostradale.it
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 1h
- Frequency
- Every 30 minutes
- Estimated price
- €4–17
- Website
- https://autostradale.it/?lang=en-GB
- Standard Rate
- €13–17
- Phone
- +34 910 207 007
- alsa@alsa.es
- Website
- alsa.com
Bus from Geneva - Bus station to Lyon, Perrache Bus Station
- Ave. Duration
- 2h
- Frequency
- 4 times a week
- Estimated price
- €20–70
- Website
- https://www.alsa.com/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
Want to know more about Flixbus?
Read the travel guide
Train travel in Spain: A guide to Renfe
Read the travel guide

































































