There are 6 ways to get from Bern to Milan by train, bus, train (Trenitalia), car, 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, bus
best- Take the train from Bern to Spieztrain Ic8 / ...
- Take the train from Spiez to Domodossolatrain Ec / ...
- Take the bus from Domodossola to Milano Centralebus Re4
5h 12mBus
cheapest- Take the bus from Bern to Aostabus FlixBus N506
- Take the bus from Aosta to Milano, Autostazione Lampugnanobus BlaBlaCar Bus
6h 15m€29–48Train
- Take the train from Bern to Spieztrain Ic8 / ...
- Take the train from Spiez to Domodossolatrain Ec / ...
- Take the train from Domodossola to Milano P.Garibalditrain Re
5h 46m€40–56Drive 316.5 km
- Drive from Bern to Milancar 316.5 km
3h 50m€58–83Train to Zurich Airport, fly to Milano Malpensa Airport, train
- Take the train from Bern to Zürich Flughafentrain
- Fly from Zurich Airport (ZRH) to Milano Malpensa Airport (MXP)plane ZRH - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
4h 10m€114–263Train to Geneva International Airport, fly to Milan Linate Airport
- Take the train from Bern to Genève-Aéroporttrain
- Fly from Geneva International Airport (GVA) to Milan Linate Airport (LIN)plane GVA - LIN
5h 38m€193–375
Zurich Airport (ZRH) to Milano Malpensa Airport (MXP) flights
Comparing Your Travel Options
The cheapest way to get from Bern to Milan is to bus which costs €28 - €50 and takes 6h 15m.
The fastest way to get from Bern to Milan is to drive which takes 3h 50m and costs €55 - €85.
No, there is no direct bus from Bern to Milan. However, there are services departing from Bern and arriving at Milano, Autostazione Lampugnano via Aosta. The journey, including transfers, takes approximately 6h 15m.
No, there is no direct train from Bern to Milan. However, there are services departing from Bern and arriving at Milano P.Garibaldi via Spiez and Domodossola. The journey, including transfers, takes approximately 5h 46m.
The distance between Bern and Milan is 280 km. The road distance is 316.5 km.
The best way to get from Bern to Milan without a car is to train and bus which takes 5h 12m and costs .
It takes approximately 5h 12m to get from Bern to Milan, including transfers.
Bern to Milan bus services, operated by FlixBus, depart from Bern station.
Bern to Milan train services, operated by Swiss Federal Railways (SBB CFF FFS), depart from Bern station.
The best way to get from Bern to Milan is to train which takes 5h 46m and costs €35 - €60. Alternatively, you can bus, which costs €28 - €50 and takes 6h 15m.
What companies run services between Bern, Switzerland and Milan, Italy?
You can take a train from Bern to Milano P.Garibaldi via Spiez and Domodossola in around 5h 46m. Alternatively, you can take a bus from Bern to Milano, Autostazione Lampugnano via Aosta in around 6h 15m.
- Website
- swiss.com
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 55 min
- When
- Every day
- Estimated price
- €70–350
- Website
- ethiopianairlines.com
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €95–160
- Website
- easyjet.com
Flights from Geneva International Airport to Milan Linate Airport
- Ave. Duration
- 1h
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €120–290
Train from Bern to Spiez
- Ave. Duration
- 30 min
- Frequency
- Every 30 minutes
- Estimated price
- €13–19
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Spiez to Domodossola
- Ave. Duration
- 1h 7m
- Frequency
- 3 times a day
- Estimated price
- €30–45
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Bern to Spiez
- Ave. Duration
- 30 min
- Frequency
- Every 30 minutes
- Estimated price
- €13–19
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Spiez to Domodossola
- Ave. Duration
- 1h 7m
- Frequency
- 3 times a day
- Estimated price
- €30–45
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Bern to Zürich Flughafen
- Ave. Duration
- 1h 12m
- Frequency
- Hourly
- Estimated price
- €40–60
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Bern to Genève-Aéroport
- Ave. Duration
- 2h 11m
- Frequency
- Hourly
- Estimated price
- €50–75
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +41 58 327 32 71
- Website
- BLS AG
Train from Bern to Spiez
- Ave. Duration
- 34 min
- Frequency
- Twice a week
- Estimated price
- €8–12
- Website
- BLS AG
Train from Spiez to Domodossola
- Ave. Duration
- 1h 41m
- Frequency
- Every 3 hours
- Estimated price
- €17–24
- Website
- BLS AG
Train from Bern to Spiez
- Ave. Duration
- 34 min
- Frequency
- Twice a week
- Estimated price
- €8–12
- Website
- BLS AG
Train from Spiez to Domodossola
- Ave. Duration
- 1h 41m
- Frequency
- Every 3 hours
- Estimated price
- €17–24
- Website
- BLS AG
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Domodossola to Milano P.Garibaldi
- Ave. Duration
- 2h 14m
- Frequency
- Every 2 hours
- Estimated price
- €14–20
- Website
- Trenitalia
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- Trenord
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Bus from Domodossola to Milano Centrale
- Ave. Duration
- 1h 40m
- Frequency
- Every 2 hours
- Website
- Trenord
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Bern to Aosta
- Ave. Duration
- 3h 5m
- Frequency
- Once daily
- Estimated price
- €16–26
- Website
- Flixbus
Bus from Aosta to Milano, Autostazione Lampugnano
- Ave. Duration
- 3h 30m
- Frequency
- Twice daily
- Estimated price
- €15–23
- Website
- Flixbus
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Aosta to Milano, Autostazione Lampugnano
- Ave. Duration
- 2h 10m
- Frequency
- Every 4 hours
- Estimated price
- €12–20
- Website
- BlaBlaCar Bus
Want to know more about travelling around Italy
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
Getting to Milan from the airport
Read the travel guide
Booking & Getting There
Bern to Milan bus services, operated by FlixBus, arrive at Aosta station.
Bern to Milan train services, operated by Swiss Federal Railways (SBB CFF FFS), arrive at Spiez station.
Yes, the driving distance between Bern to Milan is 317 km. It takes approximately 3h 50m to drive from Bern to Milan.
Book your Bern to Milan train tickets online with Omio.
Book your Bern to Milan bus tickets online with Omio and FlixBus.
There are 13888+ hotels available in Milan.






















