There are 8 ways to get from Barcelona to Zermatt by train (Renfe, TGV), bus, train, plane, or train (TGV, Renfe)
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train
best- Take the train from Barcelona-Sants to Lyon Part Dieutrain
- Take the train from Lyon Part Dieu to Genevetrain Ter
- Take the train from Genève to Visptrain
11h 54mCHF 189–422Fly to Milano Malpensa Airport, bus, train
cheapest- Fly from Barcelona–El Prat Airport (BCN) to Milano Malpensa Airport (MXP)plane BCN - MXP
- Take the bus from Aeroporto Malpensa - Terminal 1 to Domodossola - Stazione Ferroviariabus
- Take the train from Brig Bahnhofplatz to Zermatttrain
9h 17mCHF 60–153Bus, train
- Take the bus from Barcelona to Milanbus
- Take the train from Milano Centrale to Brigtrain Ec
- Take the train from Brig Bahnhofplatz to Zermatttrain R42 / ...
20h 59mCHF 143–270Fly to Geneva International Airport, train
- Fly from Barcelona–El Prat Airport (BCN) to Geneva International Airport (GVA)plane BCN - GVA
- Take the train from Genève-Aéroport to Visptrain
8h 27mCHF 117–410Train via Saint-Marcel-lès-Valence
- Take the train from Barcelona-Sants to Valence Tgv Rhone-Alpes Sudtrain Tgv
- Take the train from Valence Tgv Rhone-Alpes Sud to Genevetrain Ter
- Take the train from Genève to Visptrain
12h 51mCHF 190–504Fly to Zurich Airport, train
- Fly from Barcelona–El Prat Airport (BCN) to Zurich Airport (ZRH)plane BCN - ZRH
- Take the train from Zürich Flughafen to Berntrain
- Take the train from Bern to Visptrain
- Take the train from Visp to Zermatttrain
8h 39mCHF 137–440Fly to Milan Linate Airport, train
- Fly from Barcelona–El Prat Airport (BCN) to Milan Linate Airport (LIN)plane BCN - LIN
- Take the train from Milano Centrale to Brigtrain
- Take the train from Brig Bahnhofplatz to Zermatttrain
9h 28mCHF 104–294Fly to Il Caravaggio International Airport, bus, train
- Fly from Barcelona–El Prat Airport (BCN) to Il Caravaggio International Airport (BGY)plane BCN - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
- Take the train from Milano Centrale to Brigtrain
- Take the train from Brig Bahnhofplatz to Zermatttrain
10h 9mCHF 101–303
Barcelona to Zermatt by train
Questions & Answers
The cheapest way to get from Barcelona to Zermatt is to fly and bus and train which costs SFr 60 - SFr 160 and takes 9h 17m.
The fastest way to get from Barcelona to Zermatt is to fly and train which takes 8h 27m and costs SFr 110 - SFr 410.
No, there is no direct train from Barcelona to Zermatt. However, there are services departing from Barcelona-Sants and arriving at Zermatt via Lyon Part Dieu, Genève and Visp. The journey, including transfers, takes approximately 11h 54m.
The distance between Barcelona and Zermatt is 1050 km.
The best way to get from Barcelona to Zermatt without a car is to train which takes 11h 54m and costs SFr 180 - SFr 430.
It takes approximately 11h 54m to get from Barcelona to Zermatt, including transfers.
Barcelona to Zermatt train services, operated by Renfe Viajeros, depart from Barcelona-Sants station.
Barcelona to Zermatt train services, operated by Renfe Viajeros, arrive at Lyon Part Dieu station.
Book your Barcelona to Zermatt train tickets online with Omio.
There are 2288+ hotels available in Zermatt.
What companies run services between Barcelona, Spain and Zermatt, Switzerland?
You can take a train from Barcelona-Sants to Zermatt via Lyon Part Dieu, Genève, and Visp in around 11h 54m.
- Website
- ryanair.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- CHF 22–70
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport via Palma Mallorca
- Ave. Duration
- 4h 10m
- When
- Sunday and Friday
- Estimated price
- CHF 22–70
Flights from Barcelona–El Prat Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- CHF 30–140
Flights from Barcelona–El Prat Airport to Il Caravaggio International Airport via Menorca
- Ave. Duration
- 3h 50m
- When
- Every day
- Estimated price
- CHF 30–140
Flights from Barcelona–El Prat Airport to Il Caravaggio International Airport via Palma Mallorca
- Ave. Duration
- 4h 16m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- CHF 30–140
Flights from Barcelona–El Prat Airport to Il Caravaggio International Airport via Ibiza
- Ave. Duration
- 4h 25m
- When
- Monday, Tuesday, Wednesday, Saturday, and Sunday
- Estimated price
- CHF 30–140
- Website
- easyjet.com
Flights from Barcelona–El Prat Airport to Geneva International Airport
- Ave. Duration
- 1h 41m
- When
- Every day
- Estimated price
- CHF 35–160
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 42m
- When
- Friday, Wednesday, Saturday, Monday, Sunday, and Tuesday
- Estimated price
- CHF 35–70
Flights from Barcelona–El Prat Airport to Milan Linate Airport
- Ave. Duration
- 1h 40m
- When
- Saturday
- Estimated price
- CHF 30–140
- Website
- vueling.com
Flights from Barcelona–El Prat Airport to Geneva International Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- CHF 29–120
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 41m
- When
- Every day
- Estimated price
- CHF 19–75
Flights from Barcelona–El Prat Airport to Zurich Airport
- Ave. Duration
- 1h 57m
- When
- Every day
- Estimated price
- CHF 45–140
- Website
- swiss.com
Flights from Barcelona–El Prat Airport to Geneva International Airport via Zurich Airport
- Ave. Duration
- 3h 42m
- When
- Every day
- Estimated price
- CHF 100–210
Flights from Barcelona–El Prat Airport to Zurich Airport
- Ave. Duration
- 1h 46m
- When
- Every day
- Estimated price
- CHF 55–130
- Website
- ita-airways.com
Flights from Barcelona–El Prat Airport to Milan Linate Airport via Palma Mallorca
- Ave. Duration
- 3h 5m
- When
- Sunday
- Estimated price
- CHF 80–140
Flights from Barcelona–El Prat Airport to Milan Linate Airport via Rome
- Ave. Duration
- 4h 20m
- When
- Monday to Saturday
- Estimated price
- CHF 80–140
- Website
- flyulendo.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 50m
- When
- Every day
- Estimated price
- CHF 15–60
- Website
- singaporeair.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 40m
- When
- Wednesday, Thursday, and Sunday
- Estimated price
- CHF 40–120
Rome2Rio's guide to Renfe Viajeros
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Twice daily
- Estimated price
- CHF 75–120
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 4h 29m
- Frequency
- Twice daily
- Estimated price
- CHF 65–100
- Website
- https://www.renfe.com/es/en
- 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 26–50
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
Train from Valence Tgv Rhone-Alpes Sud to Geneve
- Ave. Duration
- 3h 17m
- Frequency
- Every 4 hours
- Estimated price
- CHF 40–80
- 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
Train from Barcelona-Sants to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 4h 26m
- Frequency
- 5 times a day
- Estimated price
- CHF 100–170
- Website
- https://www.sncf-connect.com/en-en
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Genève to Visp
- Ave. Duration
- 2h 18m
- 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–210
- 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
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
- 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
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
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
Train from Visp to Zermatt
- Ave. Duration
- 1h 6m
- Frequency
- Hourly
- Estimated price
- CHF 20–45
- Website
- https://www.matterhorngotthardbahn.ch/en/
- 2nd Class Ticket
- CHF 20–25
- 1st Class Ticket
- CHF 35–45
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
- +49 30 300 137 300
- [email protected]
- Website
- https://www.flixbus.fr
Bus from Barcelona to Milan
- Ave. Duration
- 15h 20m
- Frequency
- Twice daily
- Estimated price
- CHF 80–140
- Website
- https://www.flixbus.co.uk
- 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 8
- Website
- https://www.comazzibus.com/eng/index.php
- [email protected]
- Website
- terravision.eu
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 4–23
- Website
- https://www.terravision.eu/
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
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Train travel in Spain: A guide to Renfe
Read the travel guide











































