There are 8 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 15m€144–460Train, train to Milano Malpensa Airport, fly
cheapest- Take the train from Zermatt to Brig Bahnhofplatztrain
- Take the train from Domodossola to Gallaratetrain
- Fly from Milano Malpensa Airport (MXP) to Francisco De Sá Carneiro Airport (OPO)plane MXP - OPO
10h 21m€91–271Train, bus via Lyon
- Take the train from Visp to Genèvetrain Ec / ...
- Take the bus from Geneva to Lyonbus
- Take the bus from Lyon - Gerland Bus Station to Terminal Rodoviário de Amarantebus
- Take the bus from Terminal Rodoviário de Amarante to Porto - Pólo Universitáriobus
29h 18m€191–498Train, 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 23m€159–510Train, train to Milan Linate Airport, fly
- Take the train from Zermatt 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
11h€103–391Train, bus to Il Caravaggio International Airport, fly
- Take the train from Zermatt 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 56m€105–309Train, bus
- Take the train from Visp to Martignytrain Ir95 / ...
- Take the bus from Martigny to Portobus FlixBus N1157
32h 34m€175–342Train, bus #2
- Take the train from Visp to Genèvetrain Ec / ...
- 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
33h 5m€151–379
Zermatt to Porto by train, foot, and bus
Questions & Answers
The cheapest way to get from Zermatt to Porto is to train and fly which costs €90 - €280 and takes 10h 21m.
The fastest way to get from Zermatt to Porto is to train and fly which takes 9h 15m and costs €140 - €460.
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 via Lyon which takes 29h 18m and costs €190 - €500.
It takes approximately 9h 15m to get from Zermatt to Porto, including transfers.
Porto is 1h behind Zermatt. It is currently 11:12 PM in Zermatt and 10:12 PM in Porto.
There are 5327+ 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 to Porto - Pólo Universitário via Visp, Genève, Geneva, Lyon - Gerland Bus Station, and Terminal Rodoviário de Amarante in around 29h 18m.
- Website
- easyjet.com
Flights from Geneva International Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 22m
- When
- Every day
- Estimated price
- €45–200
Flights from Geneva International Airport to Francisco De Sá Carneiro Airport via Bordeaux
- Ave. Duration
- 4h 20m
- When
- Thursday
- Estimated price
- €45–200
Flights from Zurich Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 42m
- When
- Every day
- Estimated price
- €50–190
Flights from Milano Malpensa Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 45m
- When
- Tuesday
- Estimated price
- €50–200
Flights from Milano Malpensa Airport to Francisco De Sá Carneiro Airport via Nantes
- Ave. Duration
- 6h
- When
- Tuesday, Thursday, Friday, and Sunday
- Estimated price
- €55–200
Flights from Milan Linate Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 35m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €45–210
- Website
- swiss.com
Flights from Geneva International Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 22m
- When
- Every day
- Estimated price
- €60–220
Flights from Zurich Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 39m
- When
- Every day
- Estimated price
- €70–260
Flights from Zurich Airport to Francisco De Sá Carneiro Airport via Geneva International Airport
- Ave. Duration
- 5h 25m
- When
- Every day
- Estimated price
- €70–260
- Website
- ryanair.com
Flights from Milano Malpensa Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- €45–170
Flights from Il Caravaggio International Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 45m
- When
- Every day
- Estimated price
- €55–160
Flights from Il Caravaggio International Airport to Francisco De Sá Carneiro Airport via Marseille
- Ave. Duration
- 6h 10m
- When
- Monday, Tuesday, Thursday, and Friday
- Estimated price
- €55–160
- Website
- flytap.com
Flights from Geneva International Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 22m
- When
- Every day
- Estimated price
- €60–220
Flights from Zurich Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 39m
- When
- Every day
- Estimated price
- €70–260
- Website
- comlux.com
Flights from Zurich Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 35m
- When
- Wednesday
- Estimated price
- €70–230
- Website
- flexflight.dk
Flights from Zurich Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 35m
- When
- Wednesday
- Estimated price
- €70–230
- Website
- iberia.com
Flights from Milan Linate Airport to Francisco De Sá Carneiro Airport via Madrid
- Ave. Duration
- 5h 7m
- When
- Every day
- Estimated price
- €85–230
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Visp to Genève-Aéroport
- Ave. Duration
- 2h 36m
- Frequency
- Hourly
- Estimated price
- €70–210
- Website
- https://www.sbb.ch/en
Train from Visp to Genève
- Ave. Duration
- 2h 26m
- Frequency
- Hourly
- Estimated price
- €70–210
- Website
- https://www.sbb.ch/en
Train from Visp to Bern
- Ave. Duration
- 59 min
- Frequency
- Hourly
- Estimated price
- €30–100
- Website
- https://www.sbb.ch/en
Train from Bern to Zürich Flughafen
- Ave. Duration
- 1h 12m
- Frequency
- Hourly
- Estimated price
- €45–130
- Website
- https://www.sbb.ch/en
Train from Visp to Martigny
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €25–75
- Website
- https://www.sbb.ch/en
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Visp to Genève
- Ave. Duration
- 2h 31m
- Frequency
- 6 times a week
- Estimated price
- €45–95
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €65–95
- 2nd Class
- €45–65
Train from Domodossola to Rho Fiera Milano
- Ave. Duration
- 1h 23m
- Frequency
- 4 times a week
- Estimated price
- €30–75
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €50–75
- 2nd Class
- €30–40
Train from Visp to Martigny
- Ave. Duration
- 40 min
- Frequency
- 6 times a week
- Estimated price
- €23–65
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €45–65
- 2nd Class
- €23–30
- Phone
- +41 (0)848 642 442
- railcenter@mgbahn.ch
- Website
- matterhorngotthardbahn.ch
Train from Zermatt to Brig Bahnhofplatz
- Ave. Duration
- 1h 26m
- Frequency
- Hourly
- Estimated price
- €28–60
- Website
- https://www.matterhorngotthardbahn.ch/en/
- 2nd Class Ticket
- €28–35
- 1st Class Ticket
- €45–60
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Domodossola to Gallarate
- Ave. Duration
- 1h 1m
- Frequency
- Every 2 hours
- Estimated price
- €6–8
- Website
- https://www.trenord.it/en/
Train from Domodossola to Rho Fiera Milano
- Ave. Duration
- 1h 24m
- Frequency
- Every 2 hours
- Estimated price
- €8–10
- Website
- https://www.trenord.it/en/
Train from Domodossola to Milano Centrale
- Ave. Duration
- 1h 43m
- 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 Gallarate
- Ave. Duration
- 1h 39m
- Frequency
- Every 4 hours
- Estimated price
- €10–17
- Website
- https://www.trenitalia.com/en.html
Train from Domodossola to Rho Fiera Milano
- Ave. Duration
- 2h 3m
- Frequency
- Every 4 hours
- Estimated price
- €13–23
- Website
- https://www.trenitalia.com/en.html
- 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
- €25–50
- Schedules at
- regionalps.ch
- 2nd Class Ticket
- €25–29
- 1st Class Ticket
- €44–50
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- https://www.flixbus.fr
Bus from Geneva to Lyon
- Ave. Duration
- 2h 5m
- Frequency
- Every 2 hours
- Estimated price
- €10–18
- Website
- https://www.flixbus.co.uk
Bus from Martigny to Porto
- Ave. Duration
- 29h 30m
- Frequency
- 6 times a week
- Estimated price
- €130–220
- Website
- https://www.flixbus.co.uk
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Geneva to Lyon
- Ave. Duration
- 2h 30m
- Frequency
- Every 4 hours
- Estimated price
- €11–21
- Website
- https://www.blablacar.co.uk/bus
Bus from Lyon - Gerland Bus Station to Terminal Rodoviário de Amarante
- Ave. Duration
- 19h 55m
- Frequency
- 3 times a week
- Estimated price
- €110–210
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +351 21 75 24 524
- Website
- rede-expressos.pt
Bus from Terminal Rodoviário de Amarante to Porto - Pólo Universitário
- Ave. Duration
- 35 min
- Frequency
- Every 4 hours
- Estimated price
- €4–10
- Website
- https://rede-expressos.pt
- info@flibco.com
- Website
- flibco.com
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 50 min
- Frequency
- Hourly
- Estimated price
- €8–21
- Website
- https://www.flibco.com/en
- customerservices@terravision.eu
- Website
- terravision.eu
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–25
- Website
- https://www.terravision.eu/
- 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–8
- Website
- https://autostradale.it/?lang=en-GB
- Phone
- +34 910 207 007
- Website
- alsa.es
Bus from Geneva - Bus station to Lyon, Perrache Bus Station
- Ave. Duration
- 2h
- Frequency
- 4 times a week
- Estimated price
- €11–24
- 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
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





























































