There are 10 ways to get from Visp to Madrid by train, plane, train (Trenitalia, Renfe, Ouigo), bus, car, or train (Trenitalia, 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 to Geneva International Airport, fly
best- Take the train from Visp to Genève-Aéroport
- Fly from Geneva International Airport (GVA) to Adolfo Suárez Madrid–Barajas Airport (MAD)GVA - MAD
7h 2m€93–259Train to Milano Malpensa Airport, fly
cheapest- Take the train from Domodossola to Gallarate
- Fly from Milano Malpensa Airport (MXP) to Adolfo Suárez Madrid–Barajas Airport (MAD)MXP - MAD
8h 4m€64–205Train via Barcelona
- Take the train from Visp to GenèveIr / ...
- Take the train from Geneve to Lyon Part DieuTer
- Take the train from Lyon Part Dieu to Barcelona-Sants
- Take the train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena GrandesAve
14h 6m€148–361Train, bus
- Take the train from Visp to GenèveIr90 / ...
- Take the bus from Geneva - Bus station to Estación Sur de Autobuses
25h 11m€158–281Drive 1,449.3 km
- Drive from Visp to Madrid1,449.3 km
14h 55m€251–363Train to Basel, fly
- Take the train from Visp to Basel SBB
- Fly from Basel (BSL) to Adolfo Suárez Madrid–Barajas Airport (MAD)BSL - MAD
7h 20m€87–323Train, train to Zurich Airport, fly
- Take the train from Visp to Bern
- Take the train from Bern to Zürich Flughafen
- Fly from Zurich Airport (ZRH) to Adolfo Suárez Madrid–Barajas Airport (MAD)ZRH - MAD
7h 31m€131–357Train to Milan Linate Airport, fly
- Take the train from Domodossola to Rho Fiera Milano
- Fly from Milan Linate Airport (LIN) to Adolfo Suárez Madrid–Barajas Airport (MAD)LIN - MAD
8h 51m€77–243Train
- Take the train from Visp to GenèveIr / ...
- Take the train from Geneve to Lyon Part DieuTer
- Take the train from Lyon Part Dieu to Avignon TgvTgv
- Take the train from Avignon Tgv to Madrid-Puerta de Atocha-Almudena Grandes
15h 25m€178–331Train, bus via Valladolid
- Take the train from Visp to MartignyIr / ...
- Take the bus from Martigny to Valladolid
- Take the bus from Valladolid to Madrid Moncloa
27h 28m€122–244
Visp to Madrid by train
Questions & Answers
The cheapest way to get from Visp to Madrid is to train and fly which costs €90 - €260 and takes 7h 2m.
The fastest way to get from Visp to Madrid is to train and fly which takes 7h 2m and costs €90 - €260.
No, there is no direct train from Visp to Madrid. However, there are services departing from Visp and arriving at Madrid-Puerta de Atocha-Almudena Grandes via Geneve, Lyon Part Dieu and Barcelona-Sants. The journey, including transfers, takes approximately 14h 6m.
The distance between Visp and Madrid is 1223 km. The road distance is 1449.3 km.
The best way to get from Visp to Madrid without a car is to train via Barcelona which takes 14h 6m and costs €140 - €370.
It takes approximately 7h 2m to get from Visp to Madrid, including transfers.
Visp to Madrid train services, operated by Swiss Federal Railways (SBB CFF FFS), depart from Visp station.
Visp to Madrid train services, operated by Swiss Federal Railways (SBB CFF FFS), arrive at Genève station.
Yes, the driving distance between Visp to Madrid is 1449 km. It takes approximately 14h 55m to drive from Visp to Madrid.
Book your Visp to Madrid train tickets online with Omio.
What companies run services between Visp, Switzerland and Madrid, Spain?
You can take a train from Visp to Madrid-Puerta de Atocha-Almudena Grandes via Geneve, Lyon Part Dieu, and Barcelona-Sants in around 14h 6m.
Transport is disrupted due to the Russia-Ukraine war. Read more
- Website
- iberia.com
Flights from Geneva International Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 5m
- When
- Every day
- Estimated price
- €50–140
Flights from Basel to Adolfo Suárez Madrid–Barajas Airport via Barcelona
- Ave. Duration
- 4h 35m
- When
- Monday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €45–210
Flights from Zurich Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €60–150
Flights from Zurich Airport to Adolfo Suárez Madrid–Barajas Airport via Barcelona
- Ave. Duration
- 4h 43m
- When
- Every day
- Estimated price
- €110–220
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €60–120
Flights from Milan Linate Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €60–180
- Website
- vueling.com
Flights from Geneva International Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 5m
- When
- Every day
- Estimated price
- €50–140
Flights from Basel to Adolfo Suárez Madrid–Barajas Airport via Barcelona
- Ave. Duration
- 5h 5m
- When
- Monday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €45–210
Flights from Zurich Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €60–150
Flights from Zurich Airport to Adolfo Suárez Madrid–Barajas Airport via Barcelona
- Ave. Duration
- 4h 43m
- When
- Every day
- Estimated price
- €110–220
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €60–120
Flights from Milan Linate Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €60–180
- Website
- easyjet.com
Flights from Geneva International Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 5m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- €35–180
Flights from Basel to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- €50–170
- Website
- aireuropa.com
Flights from Geneva International Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 1h 55m
- When
- Friday and Saturday
- Estimated price
- €75–240
Flights from Zurich Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €45–180
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €70–160
- Website
- ryanair.com
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- €45–150
- Website
- swiss.com
Flights from Zurich Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €55–200
- Website
- flyulendo.com
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- €25–110
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Visp to Genève-Aéroport
- Ave. Duration
- 2h 29m
- Frequency
- Hourly
- Estimated price
- €40–80
- 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 Basel SBB
- Ave. Duration
- 2h 7m
- Frequency
- Hourly
- Estimated price
- €55–95
- 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
Train from Visp to Martigny
- Ave. Duration
- 40 min
- Frequency
- Every 30 minutes
- Estimated price
- €14–29
- Website
- https://www.sbb.ch/en
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Visp to Genève
- Ave. Duration
- 2h 29m
- Frequency
- Once daily
- Estimated price
- €45–95
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €65–95
- 2nd Class
- €45–65
Train from Visp to Basel SBB
- Ave. Duration
- 2h 5m
- Frequency
- 4 times a day
- Estimated price
- €45–95
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €65–95
- 2nd Class
- €45–65
Train from Visp to Martigny
- Ave. Duration
- 40 min
- Frequency
- Once daily
- Estimated price
- €23–65
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €45–65
- 2nd Class
- €23–30
Rome2Rio's guide to Société Nationale des Chemins de fer Français (SNCF)
Contact Details
- Phone
- +33 1 84 94 36 35
- Website
- track.effiliation.com
Train from Geneve to Lyon Part Dieu
- Ave. Duration
- 2h 8m
- Frequency
- Twice a week
- Estimated price
- €25–35
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
Train from Lyon Part Dieu to Avignon Tgv
- Ave. Duration
- 1h 4m
- Frequency
- Once daily
- Estimated price
- €43–44
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- 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 Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 2m
- Frequency
- Twice daily
- Estimated price
- €45–65
- Website
- https://www.renfe.com/es/en
Train from Avignon Tgv to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 7h 12m
- Frequency
- Once daily
- Estimated price
- €85–120
- Website
- https://www.renfe.com/es/en
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 2h 37m
- Frequency
- Hourly
- Estimated price
- €55–160
- Website
- https://www.renfe.com/es/en
- Phone
- +34 900 926 851
- atencion.cliente@iryo.eu
- Website
- iryo.eu
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 2h 59m
- Frequency
- Hourly
- Estimated price
- €50–140
- Website
- https://iryo.eu/en/home
- Phone
- +34 910 780 990
- Website
- ouigo.com
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 2h 52m
- Frequency
- Every 4 hours
- Estimated price
- €35–90
- Website
- https://www.ouigo.com/es/en
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- sbb-deutschland.de
Train from Visp to Basel SBB
- Ave. Duration
- 2h 6m
- Frequency
- Twice daily
- Estimated price
- €16–20
- Schedules at
- sbb-deutschland.de
- 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/
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Domodossola to Gallarate
- Ave. Duration
- 1h 39m
- Frequency
- Every 4 hours
- Estimated price
- €6–10
- Website
- https://www.trenitalia.com/en.html
Train from Domodossola to Rho Fiera Milano
- Ave. Duration
- 2h 3m
- Frequency
- Every 4 hours
- Estimated price
- €7–12
- Website
- https://www.trenitalia.com/en.html
- Phone
- +33 1 84 94 36 35
- Website
- sncf-connect.com
Train from Lyon Part Dieu to Avignon Tgv
- Ave. Duration
- 1h 2m
- Frequency
- Hourly
- Estimated price
- €30–60
- Website
- https://www.sncf-connect.com/en-en
- Phone
- +352 24 89 24 89
- Website
- cfl.lu
Train from Lyon Part Dieu to Avignon Tgv
- Ave. Duration
- 1h 16m
- Frequency
- Once daily
- Estimated price
- €55–85
- Website
- https://www.cfl.lu/en-gb
- 1st Class
- €55–85
- Phone
- +33 2 22 55 00 10
- nomad-car@laregionnormandie.fr
- Website
- nomad.normandie.fr
Train from Lyon Part Dieu to Avignon Tgv
- Ave. Duration
- 1h 12m
- Frequency
- 5 times a week
- Schedules at
- nomad.normandie.fr
- Phone
- +41 27 720 47 47
- info@regionalps.ch
- Website
- regionalps.ch
Train from Visp to Martigny
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- €24–49
- Schedules at
- regionalps.ch
- 2nd Class Ticket
- €24–28
- 1st Class Ticket
- €43–49
- Phone
- +34 910 207 007
- alsa@alsa.es
- Website
- alsa.com
Bus from Geneva - Bus station to Estación Sur de Autobuses
- Ave. Duration
- 21h 45m
- Frequency
- Twice a week
- Estimated price
- €120–190
- Website
- https://www.alsa.com/en/
Bus from Valladolid to Madrid Moncloa
- Ave. Duration
- 2h 30m
- Frequency
- Every 2 hours
- Estimated price
- €7–30
- Website
- https://www.alsa.com/en/
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Martigny to Valladolid
- Ave. Duration
- 22h 20m
- Frequency
- 5 times a week
- Estimated price
- €100–150
- Website
- https://www.flixbus.co.uk
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 France: A guide to SNCF
Read the travel guide
More Questions & Answers
There are 6864+ hotels available in Madrid.































































