There are 12 ways to get from Madrid to Visp by plane, train, train (Renfe, Ouigo, TGV), bus, car, or train (Renfe, TGV)
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
7h 14mCHF 106–306Fly to Basel, train
cheapest- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Basel (BSL)plane MAD - BSL
- Take the train from Basel SBB to Visptrain
7h 45mCHF 71–322Train via Barcelona
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain Ave
- 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
14h 23mCHF 204–379Bus, train
- Take the bus from Estación Sur de Autobuses to Avignonbus
- Take the train from Avignon Centre to Annecytrain K21
- Take the bus from Gare Routiere to Lancy Pont Rouge Gare-Etoile P+Rbus 272
- Take the train from Genève to Visptrain
26h 31mCHF 242–367Drive 1,444.9 km
- Drive from Madrid to Vispcar 1,444.9 km
14h 51mCHF 280–404Fly 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
7h 36mCHF 130–346Fly 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 Visptrain
8h 12mCHF 103–285Fly 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 Domodossola to Visptrain
8h 33mFly to Il Caravaggio International Airport, bus, train
- 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 Visptrain
8h 51mCHF 85–342Fly 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
10h 1mCHF 139–386Train
- 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
14h 34mCHF 251–380Bus
- Take the bus from Madrid to Milanbus FlixBus N1138
- Take the bus from Rho Fiera Milano to Domodossolabus Re4
26h 54m
Madrid to Visp by train
Comparing Your Travel Options
The cheapest way to get from Madrid to Visp is to fly and train which costs SFr 100 - SFr 310 and takes 7h 14m.
The fastest way to get from Madrid to Visp is to fly and train which takes 7h 14m and costs SFr 100 - SFr 310.
No, there is no direct bus from Madrid to Visp. However, there are services departing from Madrid and arriving at Domodossola via Rho Fiera Milano. The journey, including transfers, takes approximately 26h 54m.
No, there is no direct train from Madrid to Visp. However, there are services departing from Madrid-Puerta de Atocha-Almudena Grandes and arriving at Visp via Barcelona-Sants, Lyon Part Dieu and Genève. The journey, including transfers, takes approximately 14h 23m.
The distance between Madrid and Visp is 1223 km. The road distance is 1444.9 km.
The best way to get from Madrid to Visp without a car is to train via Barcelona which takes 14h 23m and costs SFr 200 - SFr 380.
It takes approximately 7h 14m to get from Madrid to Visp, including transfers.
Madrid to Visp bus services, operated by FlixBus, depart from Madrid station.
Madrid to Visp train services, operated by Renfe AVE, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
The best way to get from Madrid to Visp is to train via Barcelona which takes 14h 23m and costs SFr 200 - SFr 380. Alternatively, you can bus, which costs and takes 26h 54m.
What companies run services between Madrid, Spain and Visp, Switzerland?
You can take a train from Madrid-Puerta de Atocha-Almudena Grandes to Visp via Barcelona-Sants, Lyon Part Dieu, and Genève in around 14h 23m. Alternatively, you can take a bus from Madrid to Visp via Milan, Lampugnano, Rho Fieramilano, Rho Fiera Milano, Domodossola, Domodossola, and Brig in around 26h 54m.
- 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 50–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–240
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- CHF 55–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- CHF 35–220
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport via Bilbao
- Ave. Duration
- 4h 35m
- When
- Tuesday and Sunday
- 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
- 3h 50m
- When
- Friday
- 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 50–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–240
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- CHF 55–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- CHF 35–220
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
- 3h 50m
- When
- Friday
- 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 35–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–190
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
- 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–190
Flights from Adolfo Suárez Madrid–Barajas Airport to Basel
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- CHF 50–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–180
- Website
- flyulendo.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- CHF 18–140
- Website
- swiss.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 17m
- When
- Every day
- Estimated price
- CHF 70–210
- 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 22–140
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 29–45
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Basel SBB to Visp
- Ave. Duration
- 2h 6m
- Frequency
- Hourly
- Estimated price
- CHF 55–90
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Domodossola to Visp
- Ave. Duration
- 45 min
- Frequency
- 4 times a day
- Estimated price
- CHF 14–22
- 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)
Rome2Rio's guide to Renfe AVE
Contact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe AVE
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 2m
- Frequency
- Every 30 minutes
- Estimated price
- CHF 75–130
- Website
- Renfe AVE
- Phone
- +34 900 926 851
- atencion.cliente@iryo.eu
- Website
- Iryo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 24m
- Frequency
- Hourly
- Estimated price
- CHF 50–90
- Website
- Iryo
- Phone
- +34 900 759 781
- Website
- Ouigo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 23m
- Frequency
- Hourly
- Estimated price
- CHF 40–65
- Website
- Ouigo
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 Barcelona-Sants
- Ave. Duration
- 3h 29m
- Frequency
- 4 times a day
- Estimated price
- CHF 65–100
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Twice daily
- Estimated price
- CHF 75–110
- Website
- Renfe Viajeros
Train from Madrid-Puerta de Atocha-Almudena Grandes to Avignon Tgv
- Ave. Duration
- 8h 2m
- Frequency
- Twice daily
- Estimated price
- CHF 120–180
- Website
- Renfe Viajeros
- Phone
- +33 1 84 94 36 35
- Website
- Oui.SNCF
Train from Lyon Part Dieu to Geneve
- Ave. Duration
- 2h 2m
- Frequency
- Hourly
- Estimated price
- CHF 28–45
- Website
- Oui.SNCF
Train from Lyon Part Dieu to Geneve
- Ave. Duration
- 2h 2m
- Frequency
- Hourly
- Estimated price
- CHF 28–45
- Website
- Oui.SNCF
- Phone
- +33 1 84 94 36 35
- Website
- TGV inOui
Train from Lyon Part Dieu to Geneve
- Ave. Duration
- 1h 40m
- Frequency
- Once daily
- Estimated price
- CHF 30–45
- Website
- TGV inOui
Train from Lyon Part Dieu to Geneve
- Ave. Duration
- 1h 40m
- Frequency
- Once daily
- Estimated price
- CHF 30–45
- Website
- TGV inOui
Train from Avignon Tgv to Geneve
- Ave. Duration
- 2h 53m
- Frequency
- Once daily
- Estimated price
- CHF 70–110
- Website
- TGV inOui
- Phone
- +33 4 13 94 30 50
- Website
- Zou! Lignes Express Régionales
Train from Avignon Centre to Annecy
- Ave. Duration
- 4h 10m
- Frequency
- Once a week
- Estimated price
- CHF 80–110
- Website
- Zou! Lignes Express Régionales
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- Trenitalia Eurocity
Train from Milano Centrale to Visp
- Ave. Duration
- 2h 18m
- Frequency
- Every 3 hours
- Estimated price
- CHF 35–80
- Website
- Trenitalia Eurocity
- 1st Class
- CHF 55–80
- 2nd Class
- CHF 35–50
Train from Domodossola to Visp
- Ave. Duration
- 39 min
- Frequency
- Every 3 hours
- Estimated price
- CHF 17–55
- Website
- Trenitalia Eurocity
- 1st Class
- CHF 35–55
- 2nd Class
- CHF 17–23
Train from Milano Centrale to Visp
- Ave. Duration
- 2h 18m
- Frequency
- Every 3 hours
- Estimated price
- CHF 35–80
- Website
- Trenitalia Eurocity
- 1st Class
- CHF 55–80
- 2nd Class
- CHF 35–50
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- SBB GmbH
Train from Basel SBB to Visp
- Ave. Duration
- 2h 6m
- Frequency
- Twice daily
- Estimated price
- CHF 14–19
- Schedules at
- SBB GmbH
- Phone
- +41 58 327 32 71
- Website
- BLS AG
Train from Domodossola to Visp
- Ave. Duration
- 43 min
- Frequency
- Once daily
- Estimated price
- CHF 8–12
- Website
- BLS AG
- Phone
- +34 910 207 007
- Website
- alsa.es
Bus from Estación Sur de Autobuses to Avignon
- Ave. Duration
- 16h 45m
- Frequency
- Once daily
- Estimated price
- CHF 90–140
- Schedules at
- alsa.es
- Phone
- +33 4 8000 7000
- Website
- auvergnerhonealpes.fr
Bus from Gare Routiere to Lancy Pont Rouge Gare-Etoile P+R
- Ave. Duration
- 1h 22m
- Frequency
- Every 30 minutes
- Estimated price
- CHF 5–8
- Schedules at
- laregionvoustransporte.fr
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- Trenord
Bus from Gallarate to Domodossola
- Ave. Duration
- 1h 5m
- Frequency
- Every 2 hours
- Website
- Trenord
Bus from Rho Fiera Milano to Domodossola
- Ave. Duration
- 1h 30m
- Frequency
- Every 2 hours
- Website
- Trenord
- customerservices@terravision.eu
- 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
- ticket@orioshuttle.com
- 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
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Madrid to Milan
- Ave. Duration
- 23h 5m
- Frequency
- Once daily
- Estimated price
- CHF 130–200
- 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
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
Booking & Getting There
Madrid to Visp bus services, operated by FlixBus, arrive at Milan station.
Madrid to Visp train services, operated by Renfe AVE, arrive at Barcelona-Sants station.
Yes, the driving distance between Madrid to Visp is 1445 km. It takes approximately 14h 51m to drive from Madrid to Visp.
Book your Madrid to Visp train tickets online with Omio.
There are 2203+ hotels available in Visp.








































































