There are 5 ways to get from Milan to St. Moritz by train, bus 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

Train, bus  •  5 h 14 min

  1. Take the train from Milano Centrale to Colico Re_8
  2. Take the bus from Chiavenna, Stazione to St. Moritz, Bahnhof 4 / ...

$31 - $69

4 alternative options

Train  •  5 h 34 min

  1. Take the train from Milano Centrale to Tirano Re_8
  2. Take the train from Tirano to St. Moritz Regional / ...

$31 - $85

Bus, train  •  6 h 27 min

  1. Take the bus from Mailand Molino Dorino to Thusis Bhf
  2. Take the train from Thusis to St. Moritz 1-Y / ...

Bus  •  7 h 5 min

  1. Take the bus from Milano Central station to Milan Malpensa Airport
  2. Take the bus from Milan Airport Malpensa 2 to Lugano, Piazzale Besso 1 / ...
  3. Take the bus from Lugano, Stazione Nord to St. Moritz, Bahnhof 631

Drive  •  2 h 45 min

  1. Drive from Milan to St. Moritz 107.7 miles

$25 - $40

Questions & Answers

The cheapest way to get from Milan to St. Moritz is to drive which costs 22€ - 35€ and takes 2 h 45 min.

More details

The quickest way to get from Milan to St. Moritz is to drive which takes 2 h 45 min and costs 22€ - 35€.

More details

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

Get driving directions

It takes approximately 5 h 14 min to get from Milan to St. Moritz, including transfers.

More details

No, there is no direct bus from Milan to St. Moritz. However, there are services departing from Milano Central station and arriving at St. Moritz, Bahnhof via Milan Airport Malpensa 2 and Lugano, Stazione Nord. The journey, including transfers, takes approximately 7 h 5 min.

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 5 h 34 min.

More details

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

You can take a train from Milan to St. Moritz via Tirano in around 5 h 34 min. Alternatively, you can take a bus from Milan to St. Moritz via Milan Malpensa Airport, Milan Airport Malpensa 2, Lugano, Piazzale Besso, and Lugano, Stazione Nord in around 7 h 5 min.

Train operators
Trenord
Phone
+39 02 7249 4494
Email
my-link@trenord.it
Website
trenord.it
Train from Milano Centrale to Colico
Ave. Duration
1 h 27 min
Frequency
Hourly
Estimated price
$7 - $27
Schedules at
trenord.it
Train from Milano Centrale to Tirano
Ave. Duration
2 h 32 min
Frequency
Every 3 hours
Estimated price
$11 - $45
Schedules at
trenord.it
Rhätische Bahn
Phone
+41 81 288 65 65
Website
rhb.ch
Train from Tirano to St. Moritz
Ave. Duration
2 h 11 min
Frequency
5 times a day
Estimated price
$23 - $28
Schedules at
rhb.ch
Book at
rhb.ch
Train from Thusis to St. Moritz
Ave. Duration
1 h 28 min
Frequency
Hourly
Estimated price
$27 - $35
Schedules at
rhb.ch
Book at
rhb.ch
Bus operators
Swiss PostAuto
Email
info@postauto.ch
Website
postauto.ch
Bus from Chiavenna, Stazione to St. Moritz, Bahnhof
Ave. Duration
1 h 36 min
Frequency
Every 3 hours
Estimated price
$22 - $35
Schedules at
fahrplan.sbb.ch
Bus from Lugano, Stazione Nord to St. Moritz, Bahnhof
Ave. Duration
3 h 40 min
Frequency
3 times a week
Estimated price
$55 - $85
Schedules at
fahrplan.sbb.ch
Calanda Viaggi
Bus from Mailand Molino Dorino to Thusis Bhf
Ave. Duration
2 h 50 min
Frequency
4 times a week
TerraVision IT
Email
customerservices@terravision.eu
Website
terravision.eu
Bus from Milano Central station to Milan Malpensa Airport
Ave. Duration
40 min
Frequency
Every 30 minutes
Estimated price
$10
Schedules at
terravision.eu
Autostradale
Phone
+39 02 3008 9000
Email
info@autostradale.it
Website
autostradale.it
Bus from Milano Centrale to Malpensa Airport T2
Ave. Duration
1 h
Frequency
Every 30 minutes
Estimated price
$6 - $10
Schedules at
autostradale.it
Malpensa Express Bus
Phone
+41 91 858 23 23
Email
info@giosytours.ch
Website
malpensa-express.com
Bus from Milan Airport Malpensa 2 to Lugano, Piazzale Besso
Ave. Duration
45 min
Frequency
Every 2 hours
Schedules at
malpensa-express.com

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.