There are 6 ways to get from Milan to Bern by train (Trenitalia), bus, car, train, or plane
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train
best- Take the train from Milano Centrale to Domodossolatrain Ec
- Take the train from Domodossola to Spieztrain Ec / ...
- Take the train from Spiez to Berntrain Ic8 / ...
4hCHF 53–102Bus
cheapest- Take the bus from Milano, Autostazione Lampugnano to Aostabus BlaBlaCar Bus
- Take the bus from Aosta to Bernbus FlixBus N506
5h 55mCHF 21–38Drive 316.5 km
- Drive from Milan to Berncar 316.5 km
3h 49mCHF 51–74Train, fly
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Zurich Airport (ZRH)plane MXP - ZRH
- Take the train from Zürich Flughafen to Berntrain
5h 23mCHF 109–305Train via Milano Centrale
- Take the train from Milano Centrale to Domodossolatrain
- Take the train from Domodossola to Spieztrain Ec / ...
- Take the train from Spiez to Berntrain Ic8 / ...
4h 6mCHF 31–44Train #2
- Take the train from Milano Centrale to Domodossolatrain Ec
- Take the train from Brig to Berntrain Ic8 / ...
4h 7mCHF 67–178
Milan to Bern by train
Questions & Answers
The cheapest way to get from Milan to Bern is to bus which costs SFr 21 - SFr 40 and takes 5h 55m.
The fastest way to get from Milan to Bern is to drive which takes 3h 49m and costs SFr 50 - SFr 75.
No, there is no direct bus from Milan to Bern. However, there are services departing from Milano, Autostazione Lampugnano and arriving at Bern via Aosta. The journey, including transfers, takes approximately 5h 55m.
No, there is no direct train from Milan to Bern. However, there are services departing from Milano Centrale and arriving at Bern via Domodossola and Spiez. The journey, including transfers, takes approximately 4h.
The distance between Milan and Bern is 262 km. The road distance is 316.5 km.
The best way to get from Milan to Bern without a car is to train which takes 4h and costs SFr 50 - SFr 110.
It takes approximately 4h to get from Milan to Bern, including transfers.
Milan to Bern bus services, operated by BlaBlaCar Bus, depart from Milano, Autostazione Lampugnano station.
Milan to Bern train services, operated by Trenitalia EuroCity, depart from Milano Centrale station.
The best way to get from Milan to Bern is to train which takes 4h and costs SFr 50 - SFr 110. Alternatively, you can bus, which costs SFr 21 - SFr 40 and takes 5h 55m.
What companies run services between Milan, Italy and Bern, Switzerland?
You can take a train from Milano Centrale to Bern via Domodossola and Spiez in around 4h. Alternatively, you can take a bus from Milano, Autostazione Lampugnano to Bern via Aosta in around 5h 55m.
- Website
- swiss.com
Flights from Milano Malpensa Airport to Zurich Airport
- Ave. Duration
- 1h 1m
- When
- Every day
- Estimated price
- CHF 65–210
- Website
- ethiopianairlines.com
Flights from Milano Malpensa Airport to Zurich Airport
- Ave. Duration
- 1h 5m
- When
- Every day
- Estimated price
- CHF 65–170
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Milano Centrale to Domodossola
- Ave. Duration
- 1h 33m
- Frequency
- Every 4 hours
- Estimated price
- CHF 29–70
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 45–70
- 2nd Class
- CHF 29–40
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Domodossola to Spiez
- Ave. Duration
- 1h 5m
- Frequency
- 3 times a day
- Estimated price
- CHF 30–95
- Website
- https://www.sbb.ch/en
Train from Spiez to Bern
- Ave. Duration
- 33 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 13–40
- Website
- https://www.sbb.ch/en
Train from Zürich Flughafen to Bern
- Ave. Duration
- 1h 19m
- Frequency
- Hourly
- Estimated price
- CHF 40–120
- Website
- https://www.sbb.ch/en
Train from Brig to Bern
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Estimated price
- CHF 30–100
- Website
- https://www.sbb.ch/en
- Phone
- +41 58 327 32 71
- Website
- bls.ch
Train from Domodossola to Spiez
- Ave. Duration
- 1h 46m
- Frequency
- Hourly
- Estimated price
- CHF 17–24
- Website
- https://www.bls.ch/en
Train from Spiez to Bern
- Ave. Duration
- 41 min
- Frequency
- 4 times a week
- Estimated price
- CHF 6–10
- Website
- https://www.bls.ch/en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 4–5
- Website
- https://www.trenord.it/en/
Train from Milano Centrale to Domodossola
- Ave. Duration
- 1h 39m
- Frequency
- Every 2 hours
- Estimated price
- CHF 8–10
- Website
- https://www.trenord.it/en/
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Milano, Autostazione Lampugnano to Aosta
- Ave. Duration
- 1h 50m
- Frequency
- 3 times a day
- Estimated price
- CHF 10–19
- Website
- https://www.blablacar.co.uk/bus
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Milano, Autostazione Lampugnano to Aosta
- Ave. Duration
- 2h 20m
- Frequency
- Twice daily
- Estimated price
- CHF 10–18
- Website
- https://www.flixbus.co.uk
Bus from Aosta to Bern
- Ave. Duration
- 3h 5m
- Frequency
- Once daily
- Estimated price
- CHF 11–20
- Website
- https://www.flixbus.co.uk
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
Italy Travel Guides
Read the travel guide
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Milan to Bern bus services, operated by BlaBlaCar Bus, arrive at Aosta station.
Milan to Bern train services, operated by Trenitalia EuroCity, arrive at Domodossola station.
Yes, the driving distance between Milan to Bern is 317 km. It takes approximately 3h 49m to drive from Milan to Bern.
Book your Milan to Bern train tickets online with Omio.
Book your Milan to Bern bus tickets online with Omio and FlixBus.
There are 356+ hotels available in Bern.




























