There are 8 ways to get from Madrid (Station) to Zermatt by plane, train, train (Renfe, TGV), or bus
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly to Geneva International Airport, train
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Geneva International Airport (GVA)plane MAD - GVA
- Take the train from Genève-Aéroport to Visptrain
9h 5mCHF 130–356Fly to Il Caravaggio International Airport, bus, train
cheapest- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Il Caravaggio International Airport (BGY)plane MAD - 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
11h 1mCHF 119–402Train
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Avignon Tgvtrain
- Take the train from Avignon Tgv to Genevetrain Tgv
- Take the train from Genève to Visptrain
17h 40mCHF 272–433Bus, train
- Take the bus from Madrid, Avenida de América to Estación Central de Autobuses de Zaragozabus
- Take the bus from Estación Central de Autobuses de Zaragoza to Lyon - Gerland Bus Stationbus
- Take the bus from Lyon to Genevabus
- Take the train from Genève to Visptrain
25h 29mCHF 181–306Fly to Zurich Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Zurich Airport (ZRH)plane MAD - ZRH
- Take the train from Zürich Flughafen to Berntrain
- Take the train from Bern to Visptrain
9h 27mCHF 153–396Fly to Milan Linate Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Milan Linate Airport (LIN)plane MAD - LIN
- Take the train from Milano Centrale to Brigtrain
- Take the train from Brig Bahnhofplatz to Zermatttrain
10h 22mCHF 132–345Fly to Milano Malpensa Airport, bus, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Milano Malpensa Airport (MXP)plane MAD - MXP
- Take the bus from Gallarate to Domodossolabus
- Take the train from Brig Bahnhofplatz to Zermatttrain
10h 20mFly to Lyon–Saint Exupéry Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Lyon–Saint Exupéry Airport (LYS)plane MAD - LYS
- Take the train from Lyon Part Dieu to Genevetrain
- Take the train from Genève to Visptrain
12h 18mCHF 167–436
Madrid (Station) to Zermatt by foot, subway, and train
Comparing Your Travel Options
The cheapest way to get from Madrid (Station) to Zermatt is to fly and train which costs SFr 130 - SFr 360 and takes 9h 5m.
The fastest way to get from Madrid (Station) to Zermatt is to fly and train which takes 9h 5m and costs SFr 130 - SFr 360.
No, there is no direct train from Madrid (Station) to Zermatt. However, there are services departing from Intercambiador Av América Metro and arriving at Zermatt via Madrid-Nuevos Ministerios, Madrid-Puerta de Atocha-Almudena Grandes, Avignon Tgv, Genève and Visp. The journey, including transfers, takes approximately 17h 40m.
The distance between Madrid (Station) and Zermatt is 1265 km.
The best way to get from Madrid (Station) to Zermatt without a car is to train which takes 17h 40m and costs SFr 270 - SFr 440.
It takes approximately 9h 5m to get from Madrid (Station) to Zermatt, including transfers.
Madrid (Station) to Zermatt train services, operated by Renfe Viajeros, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
Madrid (Station) to Zermatt train services, operated by Renfe Viajeros, arrive at Avignon Tgv station.
There are 2615+ hotels available in Zermatt.
What companies run services between Madrid (Station), Madrid, Spain and Zermatt, Switzerland?
You can take a vehicle from Madrid (Station) to Zermatt via Intercambiador Av América Metro, Nuevos Ministerios, Madrid-Nuevos Ministerios, Madrid-Atocha Cercanías, Madrid-Puerta de Atocha-Almudena Grandes, Avignon Tgv, Genève, and Visp in around 17h 40m.
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Geneva International Airport
- Ave. Duration
- 2h 3m
- When
- Every day
- Estimated price
- CHF 55–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 21m
- When
- Every day
- Estimated price
- CHF 60–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport via Barcelona
- Ave. Duration
- 5h 2m
- When
- Every day
- Estimated price
- CHF 70–190
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- CHF 50–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- CHF 35–210
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport via Bilbao
- Ave. Duration
- 4h 10m
- When
- Tuesday
- Estimated price
- CHF 90–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Lyon–Saint Exupéry Airport
- Ave. Duration
- 1h 51m
- When
- Every day
- Estimated price
- CHF 35–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Lyon–Saint Exupéry Airport via Barcelona
- Ave. Duration
- 4h 2m
- When
- Friday and Tuesday
- Estimated price
- CHF 90–230
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Geneva International Airport
- Ave. Duration
- 2h 5m
- When
- Every day
- Estimated price
- CHF 55–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 21m
- When
- Every day
- Estimated price
- CHF 60–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport via Barcelona
- Ave. Duration
- 5h 2m
- When
- Every day
- Estimated price
- CHF 70–190
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- CHF 50–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- CHF 35–210
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport via Bilbao
- Ave. Duration
- 4h 10m
- When
- Tuesday
- Estimated price
- CHF 90–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Lyon–Saint Exupéry Airport
- Ave. Duration
- 1h 51m
- When
- Every day
- Estimated price
- CHF 35–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Lyon–Saint Exupéry Airport via Barcelona
- Ave. Duration
- 4h 2m
- When
- Friday and Tuesday
- Estimated price
- CHF 90–230
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- CHF 40–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- CHF 45–230
Flights from Adolfo Suárez Madrid–Barajas Airport to Il Caravaggio International Airport via Ibiza
- Ave. Duration
- 4h 5m
- When
- Friday and Sunday
- Estimated price
- CHF 45–230
Flights from Adolfo Suárez Madrid–Barajas Airport to Il Caravaggio International Airport via Palma Mallorca
- Ave. Duration
- 5h 20m
- When
- Friday
- Estimated price
- CHF 45–230
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Geneva International Airport
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- CHF 40–190
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- CHF 50–200
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 11m
- When
- Every day
- Estimated price
- CHF 40–180
- Website
- flyulendo.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 13m
- When
- Every day
- Estimated price
- CHF 18–140
- Website
- easyjet.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Geneva International Airport
- Ave. Duration
- 1h 55m
- When
- Monday, Friday, and Sunday
- Estimated price
- CHF 30–200
Flights from Adolfo Suárez Madrid–Barajas Airport to Lyon–Saint Exupéry Airport
- Ave. Duration
- 1h 50m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- CHF 40–190
- Website
- swiss.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 17m
- When
- Every day
- Estimated price
- CHF 65–220
- Website
- ita-airways.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport via Palma Mallorca
- Ave. Duration
- 5h 10m
- When
- Saturday
- Estimated price
- CHF 85–190
- Website
- volotea.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Lyon–Saint Exupéry Airport
- Ave. Duration
- 1h 45m
- When
- Friday
- Estimated price
- CHF 23–160
Train from Genève-Aéroport to Visp
- Ave. Duration
- 2h 28m
- Frequency
- Hourly
- Estimated price
- CHF 60–95
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Genève to Visp
- Ave. Duration
- 2h 18m
- Frequency
- Hourly
- Estimated price
- CHF 60–95
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Genève to Visp
- Ave. Duration
- 2h 18m
- Frequency
- Hourly
- Estimated price
- CHF 60–95
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Zürich Flughafen to Bern
- Ave. Duration
- 1h 19m
- Frequency
- Hourly
- Estimated price
- CHF 35–60
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Bern to Visp
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- CHF 28–45
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Genève to Visp
- Ave. Duration
- 2h 18m
- Frequency
- Hourly
- Estimated price
- CHF 60–95
- Website
- Swiss Federal Railways (SBB CFF FFS)
Rome2Rio's guide to Renfe Viajeros
Contact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Madrid-Puerta de Atocha-Almudena Grandes to Avignon Tgv
- Ave. Duration
- 8h 2m
- Frequency
- Once daily
- Estimated price
- CHF 120–180
- Website
- Renfe Viajeros
- Phone
- +33 1 84 94 36 35
- Website
- TGV inOui
Train from Avignon Tgv to Geneve
- Ave. Duration
- 3h 3m
- Frequency
- 5 times a week
- Estimated price
- CHF 70–110
- Website
- TGV inOui
Train from Lyon Part Dieu to Geneve
- Ave. Duration
- 1h 50m
- Frequency
- 5 times a week
- Estimated price
- CHF 29–45
- Website
- TGV inOui
- Phone
- +39 06 68475475
- [email protected]
- Website
- Trenitalia Eurocity
Train from Milano Centrale to Brig
- Ave. Duration
- 2h 5m
- Frequency
- Every 4 hours
- Estimated price
- CHF 35–80
- Website
- Trenitalia Eurocity
- 1st Class
- CHF 55–80
- 2nd Class
- CHF 35–50
Train from Milano Centrale to Brig
- Ave. Duration
- 2h 5m
- Frequency
- Every 4 hours
- Estimated price
- CHF 35–80
- Website
- Trenitalia Eurocity
- 1st Class
- CHF 55–80
- 2nd Class
- CHF 35–50
- Phone
- +41 (0)848 642 442
- [email protected]
- Website
- Matterhorn Gotthard Bahn
Train from Brig Bahnhofplatz to Zermatt
- Ave. Duration
- 1h 28m
- Frequency
- Hourly
- Estimated price
- CHF 25–55
- Website
- Matterhorn Gotthard Bahn
- 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
- Matterhorn Gotthard Bahn
- 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
- Matterhorn Gotthard Bahn
- 2nd Class Ticket
- CHF 25–31
- 1st Class Ticket
- CHF 45–55
- Phone
- +33 1 84 94 36 35
- Website
- Oui.SNCF
Train from Lyon Part Dieu to Geneve
- Ave. Duration
- 2h 2m
- Frequency
- Every 3 hours
- Estimated price
- CHF 27–45
- Website
- Oui.SNCF
- Phone
- +34 910 207 007
- Website
- ALSA
Bus from Madrid, Avenida de América to Estación Central de Autobuses de Zaragoza
- Ave. Duration
- 4h
- Frequency
- Every 2 hours
- Estimated price
- CHF 24–40
- Website
- ALSA
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Estación Central de Autobuses de Zaragoza to Lyon - Gerland Bus Station
- Ave. Duration
- 12h 50m
- Frequency
- Every 4 hours
- Estimated price
- CHF 65–110
- Website
- BlaBlaCar Bus
Bus from Lyon to Geneva
- Ave. Duration
- 3h 15m
- Frequency
- 5 times a day
- Estimated price
- CHF 11–19
- Website
- BlaBlaCar Bus
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Lyon to Geneva
- Ave. Duration
- 2h 30m
- Frequency
- Every 2 hours
- Estimated price
- CHF 12–19
- Website
- Flixbus
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Bus from Gallarate to Domodossola
- Ave. Duration
- 1h 5m
- Frequency
- Every 2 hours
- Website
- Trenord
- [email protected]
- Website
- TERRAVISION
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–21
- Website
- TERRAVISION
- Phone
- 035.319366
- [email protected]
- Website
- orioshuttle.com
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 10–13
- Schedules at
- orioshuttle.com
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
Train travel in Spain: A guide to Renfe
Read the travel guide


























































