There are 3 ways to get from St. Moritz to Milan 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.
Bus • 3h 47m
$20 - $28
2 alternative options
Train • 5h 44m
$31 - $81
Drive • 2h 45m
$26 - $40
Questions & Answers
The cheapest way to get from St. Moritz to Milan is to bus which costs SFr 20 - SFr 28 and takes 3h 47m.
The quickest way to get from St. Moritz to Milan is to drive which costs SFr 26 - SFr 40 and takes 2h 45m.
Yes, there is a direct bus departing from St. Moritz and arriving at Milano Centrale Station station. Services depart three times a week, and operate Wednesday, Friday and Saturday. The journey takes approximately 3h 47m.
No, there is no direct train from St. Moritz to Milan. However, there are services departing from St. Moritz and arriving at Milano Centrale via Tirano. The journey, including transfers, takes approximately 5h 44m.
The distance between St. Moritz and Milan is 125 km. The road distance is 175.3 km.
The best way to get from St. Moritz to Milan without a car is to bus which takes 3h 47m and costs SFr 20 - SFr 28.
The bus from St. Moritz to Milano Centrale Station takes 3h 47m including transfers and departs three times a week.
St. Moritz to Milan bus services, operated by Autostradale, depart from St. Moritz station.
St. Moritz to Milan train services, operated by Swiss Railways (SBB/CFF/FFS), depart from St. Moritz station.
The best way to get from St. Moritz to Milan is to bus which takes 3h 47m and costs SFr 20 - SFr 28. Alternatively, you can train, which costs SFr 30 - SFr 85 and takes 5h 44m.
What companies run services between St. Moritz, Switzerland and Milan, Italy?
Autostradale operates a bus from St. Moritz to Milan 3 times a week. Tickets cost $20 - $28 and the journey takes 3h 47m. Alternatively, you can take a train from St. Moritz to Milan via Tirano in around 5h 44m.
The national railway company of Switzerland, Swiss Railways operates trains throughout the country and adjacent European nations including Germany, France, Italy and Austria. Tickets are sold in two classes - First and Second - with most long-distance trains offering a bistro car serving beverages and snacks. Individual tickets can be bought easily at stands, while a variety of travel passes are on offer to suit different travel needs. Swiss Railways codeshares with American Airlines and Swiss International Air Lines out of Zurich International Airport.
Train from St. Moritz to Tirano
Train from Tirano to Milano Centrale
- Ave. Duration
- 2h 32m
- Every 2 hours
- Estimated price
- $11 - $45
Bus from St. Moritz to Milano Centrale Station
- Ave. Duration
- 3h 47m
- 3 times a week
- Estimated price
- $20 - $28
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
Travel inspiration and top planning tips for getting around Italy.
More Questions & Answers
St. Moritz to Milan bus services, operated by Autostradale, arrive at Milano Centrale Station.
St. Moritz to Milan train services, operated by Trenord, arrive at Milano Centrale station.
Yes, the driving distance between St. Moritz to Milan is 175 km. It takes approximately 2h 45m to drive from St. Moritz to Milan.
There are 4271+ hotels available in Milan. Prices start at $62 USD per night.