There are 9 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 50mCHF 189–431Fly 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 13mCHF 60–169Bus, 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 / ...
21h 1mCHF 140–262Fly 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 37mCHF 117–400Train 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 56mCHF 186–427Fly 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–410Fly 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 31mCHF 94–314Fly 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 11mCHF 106–341Fly to Turin Caselle Airport, train
- Fly from Barcelona–El Prat Airport (BCN) to Turin Caselle Airport (TRN)plane BCN - TRN
- Take the train from Torino Porta di Susa to Milano Centraletrain
- Take the train from Milano Centrale to Brigtrain
- Take the train from Brig Bahnhofplatz to Zermatttrain
11h 7mCHF 95–311
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 170 and takes 9h 13m.
The fastest way to get from Barcelona to Zermatt is to fly and train which takes 8h 37m and costs SFr 110 - SFr 400.
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 50m.
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 50m and costs SFr 180 - SFr 440.
It takes approximately 11h 50m 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 2248+ 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 50m.
- Website
- easyjet.com
Flights from Barcelona–El Prat Airport to Geneva International Airport
- Ave. Duration
- 1h 43m
- When
- Every day
- Estimated price
- CHF 30–170
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 42m
- When
- Every day
- Estimated price
- CHF 18–85
Flights from Barcelona–El Prat Airport to Milan Linate Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- CHF 23–120
Rome2Rio's guide to Renfe Viajeros
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Twice daily
- Estimated price
- CHF 75–120
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 4h 29m
- Frequency
- Twice daily
- Estimated price
- CHF 65–95
- Website
- Renfe Viajeros
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Barcelona to Milan
- Ave. Duration
- 15h 20m
- Frequency
- Once daily
- Estimated price
- CHF 75–130
- Website
- Flixbus
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









