There are 10 ways to get from Zurich to Zermatt by bus, train, or plane
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus, train via Frankfurt Airport (FRA)
best- Take the bus from Zurich, Kop Afsluitdijk to Alkmaar, Stationbus 350
- Take the train from Alkmaar to Amsterdam Centraaltrain
- Take the train from Amsterdam Centraal to Frankfurt(M) Flughafen Fernbftrain Ice
- Take the train from Frankfurt to Basel SBBtrain 43 / ...
- Take the train from Basel SBB to Visptrain Ic6 / ...
14h 21mCHF 127–615Bus, train, fly to Milano Malpensa Airport
cheapest- Take the bus from Zurich, Kop Afsluitdijk to Alkmaar, Stationbus
- Take the train from Alkmaar to Amsterdam Sloterdijktrain
- Fly from Amsterdam Airport Schiphol (AMS) to Milano Malpensa Airport (MXP)plane AMS - MXP
- Take the bus from Aeroporto Malpensa - Terminal 1 to Domodossola - Stazione Ferroviariabus
- Take the train from Brig Bahnhofplatz to Zermatttrain
11h 36mCHF 120–324Bus, train, fly to Geneva International Airport
- Take the bus from Zurich, Kop Afsluitdijk to Alkmaar, Stationbus
- Take the train from Alkmaar to Amsterdam Sloterdijktrain
- Fly from Amsterdam Airport Schiphol (AMS) to Geneva International Airport (GVA)plane AMS - GVA
- Take the train from Genève-Aéroport to Visptrain
10h 39mCHF 189–515Bus, train
- Take the bus from Zurich, Kop Afsluitdijk to Alkmaar, Stationbus 350
- Take the train from Alkmaar to Amsterdam Centraaltrain
- Take the train from Amsterdam Centraal to Basel SBBtrain 43N
- Take the train from Basel SBB to Visptrain Ic6 / ...
17h 52mCHF 202–500Bus, train #2
- Take the bus from Zurich, Zurich to Leeuwarden, Busstationbus 71
- Take the train from Leeuwarden to Amersfoort Centraaltrain
- Take the train from Amersfoort Centraal to Basel SBBtrain
- Take the train from Basel SBB to Visptrain Ic6 / ...
19h 10mCHF 151–490Train
- Take the train from Leeuwarden to Amsterdam Centraaltrain
- Take the train from Amsterdam Centraal to Basel SBBtrain
- Take the train from Basel SBB to Visptrain Ic6 / ...
19h 40mCHF 150–494Bus, train, fly to Basel
- Take the bus from Zurich, Kop Afsluitdijk to Alkmaar, Stationbus
- Take the train from Alkmaar to Amsterdam Sloterdijktrain
- Fly from Amsterdam Airport Schiphol (AMS) to Basel (BSL)plane AMS - BSL
- Take the train from Basel SBB to Visptrain
10h 40mCHF 157–560Bus, train, fly to Zurich Airport
- Take the bus from Zurich, Kop Afsluitdijk to Alkmaar, Stationbus
- Take the train from Alkmaar to Amsterdam Sloterdijktrain
- Fly from Amsterdam Airport Schiphol (AMS) to Zurich Airport (ZRH)plane AMS - ZRH
- Take the train from Zürich Flughafen to Berntrain
- Take the train from Bern to Visptrain
10h 36mCHF 219–575Bus, train, fly to Milan Linate Airport
- Take the bus from Zurich, Kop Afsluitdijk to Alkmaar, Stationbus
- Take the train from Alkmaar to Amsterdam Sloterdijktrain
- Fly from Amsterdam Airport Schiphol (AMS) to Milan Linate Airport (LIN)plane AMS - LIN
- Take the train from Milano Centrale to Brigtrain
- Take the train from Brig Bahnhofplatz to Zermatttrain
11h 46mCHF 141–399Bus, train, fly to Lyon–Saint Exupéry Airport
- Take the bus from Zurich, Kop Afsluitdijk to Alkmaar, Stationbus
- Take the train from Alkmaar to Amsterdam Sloterdijktrain
- Fly from Amsterdam Airport Schiphol (AMS) to Lyon–Saint Exupéry Airport (LYS)plane AMS - LYS
- Take the train from Lyon Part Dieu to Genevetrain
- Take the train from Genève to Visptrain
13h 47mCHF 244–610
Zurich to Zermatt by bus and train
Questions & Answers
The cheapest way to get from Zurich to Zermatt is to bus and train and fly which costs SFr 120 - SFr 330 and takes 11h 36m.
The fastest way to get from Zurich to Zermatt is to bus and train and fly which takes 10h 36m and costs SFr 210 - SFr 600.
No, there is no direct train from Zurich to Zermatt. However, there are services departing from Harlingen and arriving at Zermatt via Leeuwarden, Amsterdam Centraal, Basel SBB and Visp. The journey, including transfers, takes approximately 19h 40m.
The distance between Zurich and Zermatt is 1097 km.
The best way to get from Zurich to Zermatt without a car is to bus and train via Frankfurt Airport (FRA) which takes 14h 21m and costs SFr 120 - SFr 650.
It takes approximately 14h 21m to get from Zurich to Zermatt, including transfers.
Zurich to Zermatt train services, operated by Nederlandse Spoorwegen (NS), depart from Leeuwarden station.
Zurich to Zermatt train services, operated by Nederlandse Spoorwegen (NS), arrive at Amsterdam Centraal station.
There are 2274+ hotels available in Zermatt.
What companies run services between Zurich, Netherlands and Zermatt, Switzerland?
You can take a bus from Zurich, Zurich to Zermatt via Harlingen, Station, Harlingen, Leeuwarden, Amsterdam Centraal, Basel SBB, and Visp in around 19h 40m.
- Website
- klm.com
Flights from Amsterdam Airport Schiphol to Geneva International Airport
- Ave. Duration
- 1h 27m
- When
- Every day
- Estimated price
- CHF 55–320
Flights from Amsterdam Airport Schiphol to Basel
- Ave. Duration
- 1h 17m
- When
- Every day
- Estimated price
- CHF 50–320
Flights from Amsterdam Airport Schiphol to Zurich Airport
- Ave. Duration
- 1h 25m
- When
- Every day
- Estimated price
- CHF 50–310
Flights from Amsterdam Airport Schiphol to Milan Linate Airport
- Ave. Duration
- 1h 38m
- When
- Every day
- Estimated price
- CHF 60–340
Flights from Amsterdam Airport Schiphol to Lyon–Saint Exupéry Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- CHF 60–340
- Website
- easyjet.com
Flights from Amsterdam Airport Schiphol to Geneva International Airport
- Ave. Duration
- 1h 31m
- When
- Monday, Sunday, Wednesday, and Friday
- Estimated price
- CHF 70–210
Flights from Amsterdam Airport Schiphol to Milan Linate Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- CHF 60–230
Flights from Amsterdam Airport Schiphol to Milano Malpensa Airport
- Ave. Duration
- 1h 44m
- When
- Monday, Tuesday, Friday, Sunday, Thursday, and Wednesday
- Estimated price
- CHF 50–220
- Website
- airfrance.com
Flights from Amsterdam Airport Schiphol to Geneva International Airport via Paris Charles de Gaulle
- Ave. Duration
- 3h 20m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- CHF 60–330
Flights from Amsterdam Airport Schiphol to Basel
- Ave. Duration
- 1h 17m
- When
- Every day
- Estimated price
- CHF 50–320
Flights from Amsterdam Airport Schiphol to Lyon–Saint Exupéry Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- CHF 60–340
Flights from Amsterdam Airport Schiphol to Lyon–Saint Exupéry Airport via Paris Charles de Gaulle
- Ave. Duration
- 3h 52m
- When
- Every day
- Estimated price
- CHF 60–350
- Website
- swiss.com
Flights from Amsterdam Airport Schiphol to Geneva International Airport via Zurich Airport
- Ave. Duration
- 3h 23m
- When
- Every day
- Estimated price
- CHF 120–230
Flights from Amsterdam Airport Schiphol to Zurich Airport
- Ave. Duration
- 1h 27m
- When
- Every day
- Estimated price
- CHF 110–290
Flights from Amsterdam Airport Schiphol to Milano Malpensa Airport via Zurich Airport
- Ave. Duration
- 3h 40m
- When
- Every day
- Estimated price
- CHF 90–310
- Website
- lufthansa.com
Flights from Amsterdam Airport Schiphol to Zurich Airport via Frankfurt
- Ave. Duration
- 3h 21m
- When
- Every day
- Estimated price
- CHF 100–700
Flights from Amsterdam Airport Schiphol to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 46m
- When
- Every day
- Estimated price
- CHF 110–340
- Website
- ita-airways.com
Flights from Amsterdam Airport Schiphol to Milan Linate Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- CHF 80–230
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from Alkmaar to Amsterdam Centraal
- Ave. Duration
- 38 min
- Frequency
- Every 20 minutes
- Estimated price
- CHF 4–9
- Website
- https://www.ns.nl/en
Train from Amsterdam Centraal to Frankfurt(M) Flughafen Fernbf
- Ave. Duration
- 3h 35m
- Frequency
- Hourly
- Estimated price
- CHF 45–95
- Website
- https://www.ns.nl/en
Train from Frankfurt to Basel SBB
- Ave. Duration
- 4h 15m
- Frequency
- Once daily
- Estimated price
- CHF 30–70
- Website
- https://www.ns.nl/en
Train from Alkmaar to Amsterdam Sloterdijk
- Ave. Duration
- 56 min
- Frequency
- Every 15 minutes
- Estimated price
- CHF 5–11
- Website
- https://www.ns.nl/en
Train from Alkmaar to Amsterdam Centraal
- Ave. Duration
- 38 min
- Frequency
- Every 20 minutes
- Estimated price
- CHF 4–9
- Website
- https://www.ns.nl/en
Train from Leeuwarden to Amersfoort Centraal
- Ave. Duration
- 1h 38m
- Frequency
- Hourly
- Estimated price
- CHF 17–35
- Website
- https://www.ns.nl/en
Train from Amersfoort Centraal to Basel SBB
- Ave. Duration
- 10h 15m
- Frequency
- Once a week
- Estimated price
- CHF 90–190
- Website
- https://www.ns.nl/en
Train from Leeuwarden to Amsterdam Centraal
- Ave. Duration
- 2h 15m
- Frequency
- Every 4 hours
- Estimated price
- CHF 20–45
- Website
- https://www.ns.nl/en
Train from Amsterdam Centraal to Basel SBB
- Ave. Duration
- 10h 6m
- Frequency
- Once daily
- Estimated price
- CHF 85–180
- Website
- https://www.ns.nl/en
Train from Alkmaar to Amsterdam Sloterdijk
- Ave. Duration
- 56 min
- Frequency
- Every 15 minutes
- Estimated price
- CHF 5–11
- Website
- https://www.ns.nl/en
Train from Alkmaar to Amsterdam Sloterdijk
- Ave. Duration
- 56 min
- Frequency
- Every 15 minutes
- Estimated price
- CHF 5–11
- Website
- https://www.ns.nl/en
Train from Alkmaar to Amsterdam Sloterdijk
- Ave. Duration
- 56 min
- Frequency
- Every 15 minutes
- Estimated price
- CHF 5–11
- Website
- https://www.ns.nl/en
Train from Alkmaar to Amsterdam Sloterdijk
- Ave. Duration
- 56 min
- Frequency
- Every 15 minutes
- Estimated price
- CHF 5–11
- Website
- https://www.ns.nl/en
Train from Alkmaar to Amsterdam Sloterdijk
- Ave. Duration
- 56 min
- Frequency
- Every 15 minutes
- Estimated price
- CHF 5–11
- Website
- https://www.ns.nl/en
- Phone
- +49 30 2970
- Website
- bahn.de
Train from Frankfurt to Basel SBB
- Ave. Duration
- 2h 57m
- Frequency
- Hourly
- Estimated price
- CHF 55–240
- Website
- https://int.bahn.de/en
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Basel SBB to Visp
- Ave. Duration
- 2h 6m
- Frequency
- Hourly
- Estimated price
- CHF 65–210
- Website
- https://www.sbb.ch/en
Train from Genève-Aéroport to Visp
- Ave. Duration
- 2h 28m
- Frequency
- Hourly
- Estimated price
- CHF 65–220
- Website
- https://www.sbb.ch/en
Train from Basel SBB to Visp
- Ave. Duration
- 2h 6m
- Frequency
- Hourly
- Estimated price
- CHF 65–210
- Website
- https://www.sbb.ch/en
Train from Basel SBB to Visp
- Ave. Duration
- 2h 6m
- Frequency
- Hourly
- Estimated price
- CHF 65–210
- Website
- https://www.sbb.ch/en
Train from Basel SBB to Visp
- Ave. Duration
- 2h 6m
- Frequency
- Hourly
- Estimated price
- CHF 65–210
- Website
- https://www.sbb.ch/en
Train from Basel SBB to Visp
- Ave. Duration
- 2h 6m
- Frequency
- Hourly
- Estimated price
- CHF 65–210
- Website
- https://www.sbb.ch/en
Train from Zürich Flughafen to Bern
- Ave. Duration
- 1h 19m
- Frequency
- Hourly
- Estimated price
- CHF 40–140
- Website
- https://www.sbb.ch/en
Train from Bern to Visp
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- CHF 30–100
- Website
- https://www.sbb.ch/en
Train from Genève to Visp
- Ave. Duration
- 2h 18m
- Frequency
- Hourly
- Estimated price
- CHF 65–210
- Website
- https://www.sbb.ch/en
- Phone
- +49 (0) 7531 915109
- [email protected]
- Website
- sbb-deutschland.de
Train from Basel SBB to Visp
- Ave. Duration
- 2h 11m
- Frequency
- 3 times a day
- Estimated price
- CHF 15–19
- Schedules at
- sbb-deutschland.de
Train from Basel SBB to Visp
- Ave. Duration
- 2h 11m
- Frequency
- 3 times a day
- Estimated price
- CHF 15–19
- Schedules at
- sbb-deutschland.de
Train from Basel SBB to Visp
- Ave. Duration
- 2h 11m
- Frequency
- 3 times a day
- Estimated price
- CHF 15–19
- Schedules at
- sbb-deutschland.de
Train from Basel SBB to Visp
- Ave. Duration
- 2h 11m
- Frequency
- 3 times a day
- Estimated price
- CHF 15–19
- Schedules at
- sbb-deutschland.de
Train from Basel SBB to Visp
- Ave. Duration
- 2h 11m
- Frequency
- 3 times a day
- Estimated price
- CHF 15–19
- Schedules at
- sbb-deutschland.de
- Phone
- +43 5 1717
- Website
- konzern.oebb.at
Train from Amsterdam Centraal to Basel SBB
- Ave. Duration
- 10h 20m
- Frequency
- Twice daily
- Estimated price
- CHF 150–220
- Website
- https://konzern.oebb.at/en/
- Phone
- +39 06 68475475
- [email protected]
- Website
- trenitalia.com
Train from Milano Centrale to Brig
- Ave. Duration
- 2h 4m
- Frequency
- Hourly
- Estimated price
- CHF 35–80
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 55–80
- 2nd Class
- CHF 35–50
- Phone
- +41 (0)848 642 442
- [email protected]
- Website
- matterhorngotthardbahn.ch
Train from Brig Bahnhofplatz to Zermatt
- Ave. Duration
- 1h 28m
- Frequency
- Hourly
- Estimated price
- CHF 25–55
- Website
- https://www.matterhorngotthardbahn.ch/en/
- 2nd Class Ticket
- CHF 25–31
- 1st Class Ticket
- CHF 45–55
Train from Brig Bahnhofplatz to Zermatt
- Ave. Duration
- 1h 28m
- Frequency
- Hourly
- Estimated price
- CHF 25–55
- Website
- https://www.matterhorngotthardbahn.ch/en/
- 2nd Class Ticket
- CHF 25–31
- 1st Class Ticket
- CHF 45–55
- Phone
- +33 1 84 94 36 35
- Website
- track.effiliation.com
Train from Lyon Part Dieu to Geneve
- Ave. Duration
- 2h 2m
- Frequency
- Hourly
- Estimated price
- CHF 25–50
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- Phone
- +33 1 84 94 36 35
- Website
- sncf-connect.com
Train from Lyon Part Dieu to Geneve
- Ave. Duration
- 1h 50m
- Frequency
- Once daily
- Estimated price
- CHF 30–50
- Website
- https://www.sncf-connect.com/en-en
- Phone
- +31 900 0155
- Website
- qbuzz.nl
Bus from Zurich, Kop Afsluitdijk to Alkmaar, Station
- Ave. Duration
- 1h 23m
- Frequency
- Hourly
- Estimated price
- CHF 12–16
- Website
- https://www.qbuzz.nl/en
Bus from Zurich, Kop Afsluitdijk to Alkmaar, Station
- Ave. Duration
- 1h 23m
- Frequency
- Hourly
- Estimated price
- CHF 12–16
- Website
- https://www.qbuzz.nl/en
Bus from Zurich, Kop Afsluitdijk to Alkmaar, Station
- Ave. Duration
- 1h 23m
- Frequency
- Hourly
- Estimated price
- CHF 12–16
- Website
- https://www.qbuzz.nl/en
Bus from Zurich, Zurich to Leeuwarden, Busstation
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- CHF 8–11
- Website
- https://www.qbuzz.nl/en
Bus from Zurich, Kop Afsluitdijk to Alkmaar, Station
- Ave. Duration
- 1h 23m
- Frequency
- Hourly
- Estimated price
- CHF 12–16
- Website
- https://www.qbuzz.nl/en
Bus from Zurich, Kop Afsluitdijk to Alkmaar, Station
- Ave. Duration
- 1h 23m
- Frequency
- Hourly
- Estimated price
- CHF 12–16
- Website
- https://www.qbuzz.nl/en
Bus from Zurich, Kop Afsluitdijk to Alkmaar, Station
- Ave. Duration
- 1h 23m
- Frequency
- Hourly
- Estimated price
- CHF 12–16
- Website
- https://www.qbuzz.nl/en
Bus from Zurich, Kop Afsluitdijk to Alkmaar, Station
- Ave. Duration
- 1h 23m
- Frequency
- Hourly
- Estimated price
- CHF 12–16
- Website
- https://www.qbuzz.nl/en
Bus from Zurich, Kop Afsluitdijk to Alkmaar, Station
- Ave. Duration
- 1h 23m
- Frequency
- Hourly
- Estimated price
- CHF 12–16
- Website
- https://www.qbuzz.nl/en
- Phone
- +39 0322 844 862
- [email protected]
- Website
- comazzibus.com
Bus from Aeroporto Malpensa - Terminal 1 to Domodossola - Stazione Ferroviaria
- Ave. Duration
- 1h 20m
- Frequency
- Every 4 hours
- Estimated price
- CHF 9
- Website
- https://www.comazzibus.com/eng/index.php
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
Italy Travel Guides
Read the travel guide



















































