There are 10 ways to get from Madrid to Bern 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 Zurich Airport, train
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Zurich Airport (ZRH)MAD - ZRH
- Take the train from Zürich Flughafen to Bern
6h 10mCHF 82–267Fly to Geneva International Airport, train
cheapest- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Geneva International Airport (GVA)MAD - GVA
- Take the train from Genève-Aéroport to Bern
7h 15mCHF 77–237Train via Barcelona
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-SantsAve
- Take the train from Barcelona-Sants to Lyon Part Dieu
- Take the train from Lyon Part Dieu to GeneveTer
- Take the train from Genève to BernIc1 / ...
14h 22mCHF 135–426Bus
- Take the bus from Estación Sur de Autobuses to ValladolidAlsa
- Take the bus from Valladolid to BernBlaBlaCar Bus
24hCHF 82–140Drive 1,466 km
- Drive from Madrid to Bern1,466 km
14h 34mCHF 233–337Fly to Basel, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Basel (BSL)MAD - BSL
- Take the train from Basel SBB to Bern
6h 28mCHF 94–252Fly to Milan Linate Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Milan Linate Airport (LIN)MAD - LIN
- Take the train from Rho-Fiera Milano to Bern
9h 14mCHF 110–287Fly to Milano Malpensa Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Milano Malpensa Airport (MXP)MAD - MXP
- Take the train from Gallarate to Domodossola
- Take the train from Brig to Bern
9h 8mCHF 88–245Train
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Avignon Tgv
- Take the train from Avignon Tgv to GeneveTgv
- Take the train from Genève to BernIc1 / ...
14h 24mCHF 168–274Bus, train
- Take the bus from Estación Sur de Autobuses to Geneva - Bus station
- Take the train from Genève to BernIr15 / ...
24h 21mCHF 107–231
Madrid to Bern by train
Questions & Answers
The cheapest way to get from Madrid to Bern is to bus which costs SFr 80 - SFr 140 and takes 24h.
The fastest way to get from Madrid to Bern is to fly and train which takes 6h 10m and costs SFr 80 - SFr 270.
No, there is no direct bus from Madrid to Bern. However, there are services departing from Estación Sur de Autobuses and arriving at Bern via Valladolid. The journey, including transfers, takes approximately 24h.
No, there is no direct train from Madrid to Bern. However, there are services departing from Madrid-Puerta de Atocha-Almudena Grandes and arriving at Bern via Barcelona-Sants, Lyon Part Dieu and Genève. The journey, including transfers, takes approximately 14h 22m.
The distance between Madrid and Bern is 1377 km. The road distance is 1466 km.
The best way to get from Madrid to Bern without a car is to train via Barcelona which takes 14h 22m and costs SFr 130 - SFr 430.
It takes approximately 6h 10m to get from Madrid to Bern, including transfers.
Madrid to Bern bus services, operated by ALSA, depart from Estación Sur de Autobuses station.
Madrid to Bern train services, operated by Renfe AVE, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
The best way to get from Madrid to Bern is to train via Barcelona which takes 14h 22m and costs SFr 130 - SFr 430. Alternatively, you can bus, which costs SFr 80 - SFr 140 and takes 24h.
What companies run services between Madrid, Spain and Bern, Switzerland?
You can take a train from Madrid-Puerta de Atocha-Almudena Grandes to Bern via Barcelona-Sants, Lyon Part Dieu, and Genève in around 14h 22m. Alternatively, you can take a bus from Estación Sur de Autobuses to Bern via Valladolid in around 24h.
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 21m
- When
- Every day
- Estimated price
- CHF 50–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport via Barcelona
- Ave. Duration
- 4h 28m
- When
- Every day
- Estimated price
- CHF 120–210
Flights from Adolfo Suárez Madrid–Barajas Airport to Basel via Barcelona
- Ave. Duration
- 4h 55m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- CHF 35–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Geneva International Airport
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- CHF 45–130
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- CHF 55–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- CHF 55–140
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 21m
- When
- Every day
- Estimated price
- CHF 50–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport via Barcelona
- Ave. Duration
- 4h 28m
- When
- Every day
- Estimated price
- CHF 120–210
Flights from Adolfo Suárez Madrid–Barajas Airport to Basel via Barcelona
- Ave. Duration
- 4h 55m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- CHF 35–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Geneva International Airport
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- CHF 45–130
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- CHF 55–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- CHF 55–140
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- CHF 45–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Geneva International Airport
- Ave. Duration
- 1h 55m
- When
- Friday and Saturday
- Estimated price
- CHF 70–220
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- CHF 60–140
- Website
- easyjet.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Basel
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- CHF 50–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Geneva International Airport
- Ave. Duration
- 2h
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- CHF 30–180
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 15m
- When
- Monday, Tuesday, Wednesday, Friday, Saturday, and Sunday
- Estimated price
- CHF 40–130
- Website
- swiss.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 17m
- When
- Every day
- Estimated price
- CHF 50–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 23–100
- Website
- ita-airways.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport via Palma Mallorca
- Ave. Duration
- 5h
- When
- Saturday
- Estimated price
- CHF 50–170
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zürich Flughafen to Bern
- Ave. Duration
- 1h 20m
- Frequency
- Hourly
- Estimated price
- CHF 30–65
- Website
- https://www.sbb.ch/en
Train from Genève to Bern
- Ave. Duration
- 1h 51m
- Frequency
- Hourly
- Estimated price
- CHF 29–60
- Website
- https://www.sbb.ch/en
Train from Basel SBB to Bern
- Ave. Duration
- 1h
- Frequency
- Hourly
- Estimated price
- CHF 24–45
- Website
- https://www.sbb.ch/en
Train from Genève-Aéroport to Bern
- Ave. Duration
- 2h 1m
- Frequency
- Hourly
- Estimated price
- CHF 30–65
- Website
- https://www.sbb.ch/en
Train from Brig to Bern
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Estimated price
- CHF 30–60
- Website
- https://www.sbb.ch/en
Rome2Rio's guide to Renfe AVE
Contact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 2h 37m
- Frequency
- Hourly
- Estimated price
- CHF 40–180
- Website
- https://www.renfe.com/es/en
- Phone
- +34 900 926 851
- atencion.cliente@iryo.eu
- Website
- iryo.eu
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 2h 57m
- Frequency
- Hourly
- Estimated price
- CHF 40–120
- Website
- https://iryo.eu/en/home
- Phone
- +34 910 780 990
- Website
- ouigo.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 2m
- Frequency
- Every 4 hours
- Estimated price
- CHF 30–75
- Website
- https://www.ouigo.com/es/en
Rome2Rio's guide to Renfe Viajeros
Contact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 4m
- Frequency
- Twice daily
- Estimated price
- CHF 45–65
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Once daily
- Estimated price
- CHF 50–70
- Website
- https://www.renfe.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Avignon Tgv
- Ave. Duration
- 7h 37m
- Frequency
- Once daily
- Estimated price
- CHF 75–110
- Website
- https://www.renfe.com/es/en
- Phone
- +33 1 84 94 36 35
- Website
- track.effiliation.com
Train from Lyon Part Dieu to Geneve
- Ave. Duration
- 1h 57m
- Frequency
- Every 3 hours
- Estimated price
- CHF 23–35
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- Phone
- +33 1 84 94 36 35
- Website
- sncf-connect.com
Train from Lyon Part Dieu to Geneve
- Ave. Duration
- 1h 50m
- Frequency
- 5 times a week
- Estimated price
- CHF 40–120
- Website
- https://www.sncf-connect.com/en-en
Train from Avignon Tgv to Geneve
- Ave. Duration
- 3h 3m
- Frequency
- 5 times a week
- Estimated price
- CHF 60–110
- Website
- https://www.sncf-connect.com/en-en
- 2nd Class
- CHF 60–80
- 1st Class
- CHF 85–110
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Rho-Fiera Milano to Bern
- Ave. Duration
- 3h 6m
- Frequency
- Once a week
- Estimated price
- CHF 50–100
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 65–100
- 2nd Class
- CHF 50–70
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Gallarate to Domodossola
- Ave. Duration
- 1h 4m
- Frequency
- Every 3 hours
- Estimated price
- CHF 5–8
- Website
- https://www.trenord.it/en/
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Gallarate to Domodossola
- Ave. Duration
- 1h 43m
- Frequency
- Every 4 hours
- Estimated price
- CHF 5–9
- Website
- https://www.trenitalia.com/en.html
- Phone
- +34 910 207 007
- alsa@alsa.es
- Website
- alsa.com
Bus from Estación Sur de Autobuses to Valladolid
- Ave. Duration
- 2h 15m
- Frequency
- Hourly
- Estimated price
- CHF 7–35
- Website
- https://www.alsa.com/en/
Bus from Estación Sur de Autobuses to Geneva - Bus station
- Ave. Duration
- 21h 30m
- Frequency
- Twice a week
- Estimated price
- CHF 75–180
- Website
- https://www.alsa.com/en/
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Valladolid to Bern
- Ave. Duration
- 20h 45m
- Frequency
- Once daily
- Estimated price
- CHF 75–110
- Website
- https://www.blablacar.co.uk/bus
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
More Questions & Answers
Madrid to Bern bus services, operated by ALSA, arrive at Valladolid station.
Madrid to Bern train services, operated by Renfe AVE, arrive at Barcelona-Sants station.
Yes, the driving distance between Madrid to Bern is 1466 km. It takes approximately 14h 34m to drive from Madrid to Bern.
Book your Madrid to Bern train tickets online with Omio.
Book your Madrid to Bern bus tickets online with Omio.
There are 331+ hotels available in Bern.


















































