There are 5 ways to get from Italy to St. Moritz by train, bus, car, or train (Trenitalia)
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 Roma Termini to Milano Centraletrain
- Take the train from Milano Centrale to Colicotrain Re8
- Take the bus from Chiavenna, Stazione to St. Moritz, Bahnhofbus 604 / ...
8h 44mCHF 78–124Bus
- Take the bus from Roma Prenestina A1 to Lugano Via Pian Scairolobus
- Take the bus from Lugano, Stazione Nord to St. Moritz, Bahnhofbus 631
12h 49mCHF 86–133Drive 716 km
- Drive from Rome to St. Moritzcar 716 km
8h 5mCHF 121–175Train
- Take the train from Roma Termini to Milano Centraletrain Fr / ...
- Take the train from Milano Centrale to Tiranotrain Re8
- Take the train from Tirano to St. Moritztrain Re9 / ...
9h 42mTrain via Roma Termini
- Take the train from Roma Termini to Milano Centraletrain
- Take the train from Milano Centrale to Tiranotrain Re8
- Take the train from Tirano to St. Moritztrain Re9 / ...
10h 30m
Italy to St. Moritz by train and bus
Comparing Your Travel Options
The cheapest way to get from Italy to St. Moritz is to train and bus which costs SFr 75 - SFr 130 and takes 8h 44m.
The fastest way to get from Italy to St. Moritz is to drive which takes 8h 5m and costs SFr 120 - SFr 180.
No, there is no direct bus from Italy to St. Moritz. However, there are services departing from Termini and arriving at St. Moritz, Bahnhof via Roma Prenestina A1, Pambio-Noranco, Posta and Lugano, Stazione Nord. The journey, including transfers, takes approximately 12h 49m.
No, there is no direct train from Italy to St. Moritz. However, there are services departing from Roma Termini and arriving at St. Moritz via Milano Centrale and Tirano. The journey, including transfers, takes approximately 9h 42m.
The distance between Italy and St. Moritz is 747 km. The road distance is 716 km.
The best way to get from Italy to St. Moritz without a car is to train and bus which takes 8h 44m and costs SFr 75 - SFr 130.
It takes approximately 8h 44m to get from Italy to St. Moritz, including transfers.
Italy to St. Moritz bus services, operated by Onebus, depart from Roma Prenestina A1 station.
Italy to St. Moritz train services, operated by Trenitalia Frecce, depart from Roma Termini station.
The best way to get from Italy to St. Moritz is to bus which takes 12h 49m and costs SFr 85 - SFr 140. Alternatively, you can train, which costs and takes 9h 42m.
What companies run services between Italy and St. Moritz, Switzerland?
You can take a bus from Termini to St. Moritz, Bahnhof via L.Go Preneste, Roma Prenestina A1, Lugano Via Pian Scairolo, Pambio-Noranco, Posta, and Lugano, Stazione Nord in around 12h 49m. Alternatively, you can take a train from Roma Termini to St. Moritz via Milano Centrale and Tirano in around 9h 42m.
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Roma Termini to Milano Centrale
- Ave. Duration
- 3h 5m
- Frequency
- Hourly
- Estimated price
- CHF 65–110
- Website
- Italo Treno
Train from Roma Termini to Milano Centrale
- Ave. Duration
- 3h 15m
- Frequency
- 4 times a day
- Estimated price
- CHF 60–110
- Website
- Italo Treno
Train from Roma Termini to Milano Centrale
- Ave. Duration
- 4h 4m
- Frequency
- 4 times a day
- Estimated price
- CHF 60–110
- Website
- Italo Treno
- Phone
- +41 (0)848 818 818
- info@postauto.ch
- Website
- PostAuto AG
Bus from Chiavenna, Stazione to St. Moritz, Bahnhof
- Ave. Duration
- 1h 38m
- Frequency
- Hourly
- Estimated price
- CHF 5–8
- Website
- PostAuto AG
Bus from Lugano, Stazione Nord to St. Moritz, Bahnhof
- Ave. Duration
- 3h 20m
- Frequency
- Once daily
- Estimated price
- CHF 8–12
- Website
- PostAuto AG
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
Italy Travel Guides
Read the travel guide
Italian Lakes: Getting around by train
Read the travel guide
Booking & Getting There
Italy to St. Moritz bus services, operated by Onebus, arrive at Lugano Via Pian Scairolo station.
Italy to St. Moritz train services, operated by Trenitalia Frecce, arrive at Milano Centrale station.
Yes, the driving distance between Italy to St. Moritz is 716 km. It takes approximately 8h 5m to drive from Italy to St. Moritz.
Book your Italy to St. Moritz train tickets online with Omio.
There are 2289+ hotels available in St. Moritz.












