Rome2Rio

How to get fromBarcelona to Zermattby train (Renfe, TGV), bus, train, plane, or train (TGV, Renfe)

Find Transport to Zermatt

See all options

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.

  1. Train

    best
    1. Take the train from Barcelona-Sants to Lyon Part Dieutrain train
    2. Take the train from Lyon Part Dieu to Genevetrain train Ter
    3. Take the train from Genève to Visptrain train
    11h 54m
    CHF 189–422
  2. Fly to Milano Malpensa Airport, bus, train

    cheapest
    1. Fly from Barcelona–El Prat Airport (BCN) to Milano Malpensa Airport (MXP)plane plane BCN - MXP
    2. Take the bus from Aeroporto Malpensa - Terminal 1 to Domodossola - Stazione Ferroviariabus bus
    3. Take the train from Brig Bahnhofplatz to Zermatttrain train
    9h 17m
    CHF 60–153
  3. Bus, train

    1. Take the bus from Barcelona to Milanbus bus
    2. Take the train from Milano Centrale to Brigtrain train Ec
    3. Take the train from Brig Bahnhofplatz to Zermatttrain train R42 / ...
    20h 59m
    CHF 143–270
  4. Fly to Geneva International Airport, train

    1. Fly from Barcelona–El Prat Airport (BCN) to Geneva International Airport (GVA)plane plane BCN - GVA
    2. Take the train from Genève-Aéroport to Visptrain train
    8h 27m
    CHF 117–410
  5. Train via Saint-Marcel-lès-Valence

    1. Take the train from Barcelona-Sants to Valence Tgv Rhone-Alpes Sudtrain train Tgv
    2. Take the train from Valence Tgv Rhone-Alpes Sud to Genevetrain train Ter
    3. Take the train from Genève to Visptrain train
    12h 51m
    CHF 190–504
  6. Fly to Zurich Airport, train

    1. Fly from Barcelona–El Prat Airport (BCN) to Zurich Airport (ZRH)plane plane BCN - ZRH
    2. Take the train from Zürich Flughafen to Berntrain train
    3. Take the train from Bern to Visptrain train
    4. Take the train from Visp to Zermatttrain train
    8h 39m
    CHF 137–440
  7. Fly to Milan Linate Airport, train

    1. Fly from Barcelona–El Prat Airport (BCN) to Milan Linate Airport (LIN)plane plane BCN - LIN
    2. Take the train from Milano Centrale to Brigtrain train
    3. Take the train from Brig Bahnhofplatz to Zermatttrain train
    9h 28m
    CHF 104–294
  8. Fly to Il Caravaggio International Airport, bus, train

    1. Fly from Barcelona–El Prat Airport (BCN) to Il Caravaggio International Airport (BGY)plane plane BCN - BGY
    2. Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus bus
    3. Take the train from Milano Centrale to Brigtrain train
    4. Take the train from Brig Bahnhofplatz to Zermatttrain train
    10h 9m
    CHF 101–303

Barcelona to Zermatt by train

Calendar14Weekly Trains
Duration11h 54mAverage Duration
TicketCHF 189Cheapest Price
See schedules

Questions & Answers

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.

Airlines
Train operators
Bus operators

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