There are 8 ways to get from Zermatt to Barcelona by train (Trenitalia, TGV, Renfe), train, bus, 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.
Train
best- Take the train from Visp to LausanneIr / ...
- Take the train from Lausanne to Lyon Part DieuTgv
- Take the train from Lyon Part Dieu to Barcelona-Sants
12h 31m€162–351Train, train to Milan Linate Airport, fly
cheapest- Take the train from Zermatt, Bahnhof to Brig Bahnhofplatz
- Take the train from Domodossola to Rho Fiera Milano
- Fly from Milan Linate Airport (LIN) to Barcelona–El Prat Airport (BCN)LIN - BCN
9h 42m€77–277Train, bus
- Take the train from Visp to GenèveIr / ...
- Take the bus from Geneva - Bus station to Girona, Estació d'Autobusos
- Take the bus from Girona, Estació d'Autobusos to Barcelona, Estació d'Autobusos Nord602
17h 46m€129–261Train, train to Geneva International Airport, fly
- Take the train from Zermatt, Bahnhof to Visp
- Take the train from Visp to Genève-Aéroport
- Fly from Geneva International Airport (GVA) to Barcelona–El Prat Airport (BCN)GVA - BCN
8h 26m€91–256Train via Avignon
- Take the train from Visp to GenèveIr / ...
- Take the train from Geneve to Avignon TgvTgv
- Take the train from Avignon Tgv to Barcelona-Sants
12h 44m€172–286Train, train to Milano Malpensa Airport, fly
- Take the train from Zermatt, Bahnhof to Brig Bahnhofplatz
- Take the train from Domodossola to Gallarate
- Fly from Milano Malpensa Airport (MXP) to Barcelona–El Prat Airport (BCN)MXP - BCN
9h 5m€79–235Train, train to Zurich Airport, fly
- Take the train from Zermatt, Bahnhof to Visp
- Take the train from Visp to Bern
- Take the train from Bern to Zürich Flughafen
- Fly from Zurich Airport (ZRH) to Barcelona–El Prat Airport (BCN)ZRH - BCN
8h 49m€132–366Train, bus to Il Caravaggio International Airport, fly
- Take the train from Zermatt, Bahnhof to Brig Bahnhofplatz
- Take the train from Domodossola to Milano Centrale
- Take the bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Fly from Il Caravaggio International Airport (BGY) to Barcelona–El Prat Airport (BCN)BGY - BCN
10h 42m€80–301
Zermatt to Barcelona by train
Questions & Answers
The cheapest way to get from Zermatt to Barcelona is to train and fly which costs €75 - €240 and takes 9h 5m.
The fastest way to get from Zermatt to Barcelona is to train and fly which takes 8h 26m and costs €90 - €260.
No, there is no direct train from Zermatt to Barcelona. However, there are services departing from Zermatt, Bahnhof and arriving at Barcelona-Sants via Visp, Lausanne and Lyon Part Dieu. The journey, including transfers, takes approximately 12h 31m.
The distance between Zermatt and Barcelona is 1045 km.
The best way to get from Zermatt to Barcelona without a car is to train which takes 12h 31m and costs €160 - €360.
It takes approximately 12h 31m to get from Zermatt to Barcelona, including transfers.
Zermatt to Barcelona train services, operated by Swiss Federal Railways (SBB CFF FFS), depart from Visp station.
Zermatt to Barcelona train services, operated by Swiss Federal Railways (SBB CFF FFS), arrive at Lausanne station.
Book your Zermatt to Barcelona train tickets online with Omio.
There are 5585+ hotels available in Barcelona.
What companies run services between Zermatt, Switzerland and Barcelona, Spain?
You can take a train from Zermatt, Bahnhof to Barcelona-Sants via Visp, Lausanne, and Lyon Part Dieu in around 12h 31m.
Transport is disrupted due to the Russia-Ukraine war. Read more
- Website
- easyjet.com
Flights from Geneva International Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 26m
- When
- Every day
- Estimated price
- €27–130
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €22–110
Flights from Milan Linate Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 35m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €27–130
- Website
- ryanair.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 45m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €29–210
Flights from Il Caravaggio International Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €29–160
- Website
- vueling.com
Flights from Geneva International Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 27m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €23–95
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 38m
- When
- Every day
- Estimated price
- €19–90
Flights from Zurich Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 50m
- When
- Every day
- Estimated price
- €35–150
- Website
- swiss.com
Flights from Geneva International Airport to Barcelona–El Prat Airport via Zurich Airport
- Ave. Duration
- 3h 30m
- When
- Every day
- Estimated price
- €85–180
Flights from Zurich Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 46m
- When
- Every day
- Estimated price
- €55–210
- Website
- flyulendo.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 40m
- When
- Monday, Friday, Saturday, and Sunday
- Estimated price
- €17–95
- Website
- singaporeair.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 40m
- When
- Wednesday, Thursday, and Sunday
- Estimated price
- €14–110
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Visp to Lausanne
- Ave. Duration
- 1h 36m
- Frequency
- Every 30 minutes
- Estimated price
- €31–36
- 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 Genève-Aéroport
- Ave. Duration
- 2h 29m
- Frequency
- Hourly
- Estimated price
- €40–75
- 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
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Visp to Lausanne
- Ave. Duration
- 1h 40m
- Frequency
- Once daily
- Estimated price
- €35–80
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €55–80
- 2nd Class
- €35–50
Train from Visp to Genève
- Ave. Duration
- 2h 30m
- Frequency
- 6 times a week
- Estimated price
- €45–95
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €65–95
- 2nd Class
- €45–65
- Phone
- +33 1 84 94 36 35
- Website
- sncf-connect.com
Train from Lausanne to Lyon Part Dieu
- Ave. Duration
- 2h 38m
- Frequency
- 5 times a week
- Estimated price
- €60–150
- Website
- https://www.sncf-connect.com/en-en
Train from Geneve to Avignon Tgv
- Ave. Duration
- 2h 59m
- Frequency
- 5 times a week
- Estimated price
- €80–95
- Website
- https://www.sncf-connect.com/en-en
Rome2Rio's guide to Renfe Viajeros
Contact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Lyon Part Dieu to Barcelona-Sants
- Ave. Duration
- 4h 48m
- Frequency
- Once daily
- Estimated price
- €50–75
- Website
- https://www.renfe.com/es/en
Train from Avignon Tgv to Barcelona-Sants
- Ave. Duration
- 3h 56m
- Frequency
- Once daily
- Estimated price
- €35–50
- Website
- https://www.renfe.com/es/en
- Phone
- +41 (0)848 642 442
- railcenter@mgbahn.ch
- Website
- matterhorngotthardbahn.ch
Train from Zermatt, Bahnhof to Visp
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- €22–50
- Website
- Matterhorn Gotthard Bahn
- Schedules at
- Swiss Railways
- 2nd Class Ticket
- €22–26
- 1st Class Ticket
- €35–50
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 Gallarate
- Ave. Duration
- 1h
- Frequency
- Every 3 hours
- Estimated price
- €6–8
- 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 Gallarate
- Ave. Duration
- 1h 39m
- Frequency
- Every 4 hours
- Estimated price
- €6–15
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €10–15
Train from Domodossola to Rho Fiera Milano
- Ave. Duration
- 2h 3m
- Frequency
- Every 4 hours
- Estimated price
- €7–21
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €14–21
- Phone
- +34 910 207 007
- alsa@alsa.es
- Website
- alsa.com
Bus from Geneva - Bus station to Girona, Estació d'Autobusos
- Ave. Duration
- 10h 15m
- Frequency
- 3 times a week
- Estimated price
- €55–85
- Website
- https://www.alsa.com/en/
- Phone
- +34 93 593 13 00
- info@sagales.com
- Website
- sagales.com
Bus from Girona, Estació d'Autobusos to Barcelona, Estació d'Autobusos Nord
- Ave. Duration
- 1h 35m
- Frequency
- 3 times a day
- Estimated price
- €17–35
- Website
- https://www.sagales.com/en
- Book at
- https://www.sagales.com/sale/?sgLang=en
- 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
- €9–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
Want to know more about travelling around Spain
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
Train travel in Spain: A guide to Renfe
Read the travel guide






















































