There are 6 ways to get from Milan to Gruyères by train (Trenitalia), bus, train, 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 via Bern
best- Take the train from Milano Centrale to Berntrain Ec
- Take the train from Bern to Bulletrain Re2
5h 37mCHF 71–119Bus
cheapest- Take the bus from Milano, Autostazione Lampugnano to Lausannebus BlaBlaCar Bus
7h 19mCHF 37–57Bus, train
- Take the bus from Milano - Famagosta to ZÜRICH, Carparkplatz am Sihlquaibus
- Take the train from Zürich HB to Fribourg/Freiburgtrain Ic1 / ...
5h 50mCHF 107–151Drive 334.8 km
- Drive from Milan to Gruyèrescar 334.8 km
4h 4mCHF 56–81Train, 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
- Take the train from Bern to Bulletrain
6h 40mCHF 124–271Train (Trenitalia)
- Take the train from Milano Centrale to Montreuxtrain Ec
5h 38mCHF 73–122
Milan to Gruyères by train
Comparing Your Travel Options
The cheapest way to get from Milan to Gruyères is to bus which costs SFr 35 - SFr 60 and takes 7h 19m.
The fastest way to get from Milan to Gruyères is to drive which takes 4h 4m and costs SFr 55 - SFr 85.
No, there is no direct bus from Milan to Gruyères. However, there are services departing from Milano, Autostazione Lampugnano and arriving at Lausanne, gare via Lausanne, Parc Vélodrome. The journey, including transfers, takes approximately 7h 19m.
No, there is no direct train from Milan to Gruyères. However, there are services departing from Milano Centrale and arriving at Gruyères via Bern and Bulle. The journey, including transfers, takes approximately 5h 37m.
The distance between Milan and Gruyères is 341 km. The road distance is 334.8 km.
The best way to get from Milan to Gruyères without a car is to train via Bern which takes 5h 37m and costs SFr 70 - SFr 120.
It takes approximately 5h 37m to get from Milan to Gruyères, including transfers.
Milan to Gruyères bus services, operated by BlaBlaCar Bus, depart from Milano, Autostazione Lampugnano station.
Milan to Gruyères train services, operated by Trenitalia EuroCity, depart from Milano Centrale station.
The best way to get from Milan to Gruyères is to train via Bern which takes 5h 37m and costs SFr 70 - SFr 120. Alternatively, you can bus, which costs SFr 35 - SFr 60 and takes 7h 19m.
What companies run services between Milan, Italy and Gruyères, Switzerland?
You can take a train from Milano Centrale to Gruyères via Bern and Bulle in around 5h 37m. Alternatively, BlaBlaCar Bus operates a bus from Milano, Autostazione Lampugnano to Lausanne once daily. Tickets cost CHF 21–35 and the journey takes 5h 1m.
- Website
- swiss.com
Flights from Milano Malpensa Airport to Zurich Airport
- Ave. Duration
- 1h 1m
- When
- Every day
- Estimated price
- CHF 65–320
- Website
- ethiopianairlines.com
Flights from Milano Malpensa Airport to Zurich Airport
- Ave. Duration
- 1h 7m
- When
- Every day
- Estimated price
- CHF 90–150
- Phone
- +39 06 68475475
- [email protected]
- Website
- Trenitalia Eurocity
Train from Milano Centrale to Bern
- Ave. Duration
- 3h 16m
- Frequency
- Every 4 hours
- Estimated price
- CHF 55–100
- Website
- Trenitalia Eurocity
- 1st Class
- CHF 70–100
- 2nd Class
- CHF 55–75
Train from Milano Centrale to Montreux
- Ave. Duration
- 3h 17m
- Frequency
- Every 4 hours
- Estimated price
- CHF 55–110
- Website
- Trenitalia Eurocity
- 1st Class
- CHF 70–110
- 2nd Class
- CHF 55–80
- Phone
- +41 26 351 02 00
- [email protected]
- Website
- tpf.ch
Train from Bern to Bulle
Train from Bern to Bulle
Train from Zürich HB to Fribourg/Freiburg
- Ave. Duration
- 1h 24m
- Frequency
- Hourly
- Estimated price
- CHF 45–65
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Zürich Flughafen to Bern
- Ave. Duration
- 1h 19m
- Frequency
- Hourly
- Estimated price
- CHF 40–55
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 4–5
- Website
- Trenord
- Phone
- +39 0362 185 0590
- [email protected]
- Website
- Onebus
Bus from Milano - Famagosta to ZÜRICH, Carparkplatz am Sihlquai
- Ave. Duration
- 2h 22m
- Frequency
- Once a week
- Estimated price
- CHF 55–75
- Website
- Onebus
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Milano, Autostazione Lampugnano to Lausanne
- Ave. Duration
- 5h 1m
- Frequency
- Once daily
- Estimated price
- CHF 21–35
- Website
- BlaBlaCar 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
Italy Travel Guides
Read the travel guide
Booking & Getting There
Milan to Gruyères bus services, operated by BlaBlaCar Bus, arrive at Lausanne station.
Milan to Gruyères train services, operated by Trenitalia EuroCity, arrive at Bern station.
Yes, the driving distance between Milan to Gruyères is 335 km. It takes approximately 4h 4m to drive from Milan to Gruyères.
Book your Milan to Gruyères train tickets online with Omio.
Book your Milan to Gruyères bus tickets online with Omio.
There are 819+ hotels available in Gruyères.



















