COVID-19 Travel restrictions may apply upon entering Switzerland. Learn More.

There are 3 ways to get from Milan to St. Moritz by bus, train or car

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Bus  •  3h 52m

  1. Take the bus from Milano Centrale Station to St. Moritz 51

SFr 21 - SFr 27

2 alternative options

Train  •  5h 30m

  1. Take the train from Milano Centrale to Tirano Re8
  2. Take the train from Tirano to St. Moritz Re / ...

SFr 35 - SFr 42

Drive  •  2h 34m

  1. Drive from Milan to St. Moritz 167.4 km

SFr 22 - SFr 35

Milan to St. Moritz by bus

The bus journey time between Milan and St. Moritz is around 3h 52m and covers a distance of around 172 km. The fastest bus normally takes 3h 52m. Operated by Autostradale, the Milan to St. Moritz bus service departs from Milano Centrale Station and arrives in St. Moritz. Typically seven buses run weekly, although weekend and holiday schedules can vary so check in advance.

The schedules shown below are for the next available departures.

Milan to St. Moritz bus schedules

Italy → Switzerland
Partially open

Travel safe during COVID-19

International entry into Switzerland from Italy

  • Entry is partially open for citizens and permanent residents of Italy
Show more details
Allowed for: All visitors

Restricted for: There are no current restrictions

Show less

Conditions of entry into Switzerland from Italy

  • 10-day mandatory quarantine and a negative COVID-19 test issued at most 3 days before arrival
This applies to arrivals from Campania, Apulia in Italy
  • Pre-departure COVID-19 test (with a negative test result) taken 3 days before boarding for all arrivals by air
This applies to all arrivals by air
  • A negative result for COVID-19 is a condition to end the quarantine obligation earlier. It is tested in quarantine on day 7
  • Health declaration required
This applies to arrivals from all countries, with no exceptions
Show more details
  • 10-day mandatory quarantine and a negative COVID-19 test issued at most 3 days before arrival
This also applies to arrivals from the following regions:
Austria: Oberösterreich, Salzburg
France: Bretagne, Centre-Val de Loire, Hauts-de-France, Paris, Normandy, Nouvelle-Aquitaine, Occitanie, Pays de la Loire, Provence-Alpes-Côte d'Azur
Germany: Saxony, Thuringia
Italy: Campania, Apulia

This applies to arrivals from Andorra, Argentina, Bahrain, Belgium, Brazil, Cabo Verde, Canada, Chile, Croatia, Cyprus, Egypt, Estonia, Hungary, India, Kuwait, Lithuania, Luxembourg, Mexico, Nepal, Netherlands, Palestine, Paraguay, Poland, Qatar, Serbia, Seychelles, Slovenia, South Africa, Sweden, Tanzania, Turkey and Uruguay
  • Pre-departure COVID-19 test (with a negative test result) taken 3 days before boarding for all arrivals by air
This applies to all arrivals by air
  • A negative result for COVID-19 is a condition to end the quarantine obligation earlier. It is tested in quarantine on day 7
  • Health declaration required
This applies to arrivals from all countries, with no exceptions

Show less

Rules to follow in Switzerland

2m

Mandatory

Considerations leaving from Italy

The official advice is to avoid non-essential international travel to high risk countries

Frequently Asked Questions


Yes, but conditions apply when entering Switzerland from Italy.

Explore options for future travel

Domestic travel is not restricted, but some conditions may apply

  • Face masks are mandatory
  • There is a social distancing requirement of 2 metres
  • Observe COVID-19 safety rules

Explore travel options

The national COVID-19 helpline number in St. Moritz is 0041 58 463 00 00.

Wearing a face mask on public transport in St. Moritz is mandatory.

The social distance requirement in St. Moritz is 2 metres.

Make yourself known to an official member of staff and/or call the national coronavirus helpline number on 0041 58 463 00 00.

No, but conditions apply when returning to Italy from Switzerland.

See options for return travel.

Last updated: 9 May 2021
Exceptions may apply, for full details: Swiss Federal Office of Public Health.

We're working around the clock to bring you the latest COVID-19 travel updates.
This information is compiled from official sources. To the best of our knowledge, it is correct as of the last update.
Visit Rome2rio travel advice for general help.

Questions & Answers

The cheapest way to get from Milan to St. Moritz is to bus which costs 19€ - 25€ and takes 3h 52m.

More details

The quickest way to get from Milan to St. Moritz is to drive which costs 20€ - 30€ and takes 2h 34m.

More details

Yes, there is a direct bus departing from Milano Centrale Station station and arriving at St. Moritz. Services depart once daily, and operate every day. The journey takes approximately 3h 52m.

More details

No, there is no direct train from Milan to St. Moritz. However, there are services departing from Milano Centrale and arriving at St. Moritz via Tirano. The journey, including transfers, takes approximately 5h 30m.

More details

The distance between Milan and St. Moritz is 125 km. The road distance is 167.4 km.

Get driving directions

The best way to get from Milan to St. Moritz without a car is to bus which takes 3h 52m and costs 19€ - 25€.

More details

The bus from Milano Centrale Station to St. Moritz takes 3h 52m including transfers and departs once daily.

More details

Milan to St. Moritz bus services, operated by Autostradale, depart from Milano Centrale Station.

More details

Milan to St. Moritz train services, operated by Trenord, depart from Milano Centrale station.

More details

The best way to get from Milan to St. Moritz is to bus which takes 3h 52m and costs 19€ - 25€. Alternatively, you can train, which costs 30€ - 40€ and takes 5h 30m.

Mode details

Map of how to get from Milan to St. Moritz.
Launch map view
  • Distance: 125.2 km
  • Duration: 3h 52m

What companies run services between Milan, Italy and St. Moritz, Switzerland?

Autostradale operates a bus from Milano Centrale Station to St. Moritz once daily. Tickets cost SFr 21 - SFr 27 and the journey takes 3h 52m. Alternatively, you can take a train from Milan to St. Moritz via Tirano in around 5h 30m.

Train operators
Trenord

Trenord operates regional and suburban lines throughout Italy’s Lombardy region, including the Malapensa Express from Milan’s Malapensa Airport and local lines around Lake Como and the Italian Lakes. Trenord train tickets can be purchased from machines at any train station and don’t need to be booked in advance.

Contact Details
Phone
+39 02 7249 4494
Email
my-link@trenord.it
Website
trenord.it
Train from Milano Centrale to Tirano
Ave. Duration
2h 32m
Frequency
Every 2 hours
Estimated price
SFr 12 - SFr 15
Website
Trenord
Rhätische Bahn
Phone
+41 81 288 65 65
Website
rhb.ch
Train from Tirano to St. Moritz
Ave. Duration
2h 30m
Frequency
Hourly
Estimated price
SFr 23 - SFr 28
Website
Rhätische Bahn
Schedules at
Rhätische Bahn
Bus operators
Autostradale
Phone
+39 02 3008 9000
Email
info@autostradale.it
Website
autostradale.it
Bus from Milano Centrale Station to St. Moritz
Ave. Duration
3h 52m
Frequency
Once daily
Estimated price
SFr 21 - SFr 27
Website
Autostradale
Website
Autostradale

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.

More Questions & Answers

Milan to St. Moritz bus services, operated by Autostradale, arrive at St. Moritz station.

More details

Milan to St. Moritz train services, operated by Rhätische Bahn, arrive at St. Moritz station.

More details

Yes, the driving distance between Milan to St. Moritz is 167 km. It takes approximately 2h 34m to drive from Milan to St. Moritz.

Get driving directions

There are 306+ hotels available in St. Moritz. Prices start at SFr 87 per night.

More details