There are 7 ways to get from St. Moritz to Perugia by train (Trenitalia), bus, car, train, 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 Reggio Emilia
best- Take the train from St. Moritz to Tiranotrain R19 / ...
- Take the train from Tirano to Milano Centraletrain
- Take the train from Milano Centrale to Reggio Emilia Avtrain Fr
- Take the train from Reggio Emilia Av to Perugiatrain Fr
10h 45mBus
cheapest- Take the bus from St. Moritz, Bahnhof to Cassarate, Monte Brèbus 631
- Take the bus from Lugano to Milano, Autostazione Lampugnanobus 076 / ...
- Take the bus from Milano, Autostazione Lampugnano to Perugia Train Station Bus Stopbus
13h 21m€32–81Drive 593.4 km
- Drive from St. Moritz to Perugiacar 593.4 km
7h 7m€101–145Train, fly to Florence Peretola Airport
- Take the train from St. Moritz to Churtrain
- Take the train from Chur to Zürich HBtrain
- Fly from Zurich Airport (ZRH) to Florence Peretola Airport (FLR)plane ZRH - FLR
- Take the train from Firenze S.M.N. to Perugiatrain
10h 23m€154–383Train
- Take the train from St. Moritz to Tiranotrain R19 / ...
- Take the train from Tirano to Milano Centraletrain
- Take the train from Milano Centrale to Perugiatrain Ic
12h 30mBus, train
- Take the bus from St. Moritz, Bahnhof to Lugano, Stazione Nordbus 631
- Take the train from Lugano to Milano Centraletrain
- Take the bus from Milano, San Donato M3 to Perugiabus 529
13h 23m€63–124Train, fly to Bologna Guglielmo Marconi Airport
- Take the train from St. Moritz to Churtrain
- Take the train from Chur to Zürich HBtrain
- Fly from Zurich Airport (ZRH) to Bologna Guglielmo Marconi Airport (BLQ)plane ZRH - BLQ
- Take the train from Bologna Centrale to Florence Santa Maria Novellatrain
- Take the train from Firenze S.M.N. to Perugiatrain
11h 9m€167–415
Zurich Airport (ZRH) to Florence Peretola Airport (FLR) flights
Questions & Answers
The cheapest way to get from St. Moritz to Perugia is to bus which costs €30 - €85 and takes 13h 21m.
The fastest way to get from St. Moritz to Perugia is to drive which takes 7h 7m and costs €100 - €150.
No, there is no direct bus from St. Moritz to Perugia station. However, there are services departing from St. Moritz, Bahnhof and arriving at Perugia Train Station Bus Stop via Lugano, Campus Universitario, Lugano and Milano, Autostazione Lampugnano. The journey, including transfers, takes approximately 13h 21m.
No, there is no direct train from St. Moritz to Perugia. However, there are services departing from St. Moritz and arriving at Perugia via Tirano, Milano Centrale and Reggio Emilia Av. The journey, including transfers, takes approximately 10h 45m.
The distance between St. Moritz and Perugia is 650 km. The road distance is 593.4 km.
The best way to get from St. Moritz to Perugia without a car is to train via Reggio Emilia which takes 10h 45m and costs .
It takes approximately 10h 45m to get from St. Moritz to Perugia, including transfers.
St. Moritz to Perugia bus services, operated by PostAuto Schweiz AG, depart from St. Moritz, Bahnhof station.
St. Moritz to Perugia train services, operated by Rhätische Bahn, depart from St. Moritz station.
The best way to get from St. Moritz to Perugia is to train via Reggio Emilia which takes 10h 45m and costs . Alternatively, you can bus, which costs €30 - €85 and takes 13h 21m.
What companies run services between St. Moritz, Switzerland and Perugia, Italy?
You can take a train from St. Moritz to Perugia via Tirano, Milano Centrale, and Reggio Emilia Av in around 10h 45m. Alternatively, you can take a bus from St. Moritz, Bahnhof to Perugia Train Station Bus Stop via Cassarate, Monte Brè, Lugano, Campus Universitario, Lugano, and Milano, Autostazione Lampugnano in around 13h 21m.
- Website
- swiss.com
Flights from Zurich Airport to Florence Peretola Airport
- Ave. Duration
- 1h 13m
- When
- Every day
- Estimated price
- €75–210
Flights from Zurich Airport to Bologna Guglielmo Marconi Airport
- Ave. Duration
- 1h 5m
- When
- Every day
- Estimated price
- €75–410
- Website
- lufthansa.com
Flights from Zurich Airport to Florence Peretola Airport via Munich
- Ave. Duration
- 3h 5m
- When
- Every day
- Estimated price
- €110–370
- Website
- airdolomiti.it
Flights from Zurich Airport to Florence Peretola Airport via Munich
- Ave. Duration
- 3h 10m
- When
- Tuesday, Wednesday, Thursday, and Saturday
- Estimated price
- €110–370
- Phone
- +41 81 288 65 65
- Website
- rhb.ch
Train from St. Moritz to Tirano
- Ave. Duration
- 2h 35m
- Frequency
- Hourly
- Website
- https://www.rhb.ch/en/
Train from St. Moritz to Chur
- Ave. Duration
- 1h 57m
- Frequency
- Hourly
- Website
- https://www.rhb.ch/en/
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Tirano to Milano Centrale
- Ave. Duration
- 2h 34m
- Frequency
- Hourly
- Estimated price
- €10–13
- Website
- https://www.trenord.it/en/
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 44 min
- Frequency
- Hourly
- Estimated price
- €14–55
- Schedules at
- trenitalia.com
- Super Economy
- €14–20
- Base Standard
- €30–45
- Base Premium
- €35–55
Train from Reggio Emilia Av to Perugia
- Ave. Duration
- 2h 48m
- Frequency
- 6 times a week
- Estimated price
- €45–65
- Schedules at
- trenitalia.com
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 31m
- Frequency
- 6 times a week
- Estimated price
- €16–35
- Schedules at
- trenitalia.com
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 46 min
- Frequency
- Every 3 hours
- Estimated price
- €16–35
- Website
- https://www.italotreno.it/en
Train from Bologna Centrale to Florence Santa Maria Novella
- Ave. Duration
- 36 min
- Frequency
- Hourly
- Estimated price
- €13–35
- Website
- https://www.italotreno.it/en
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from St. Moritz to Chur
- Ave. Duration
- 1h 57m
- Frequency
- Once daily
- Estimated price
- €35–65
- Website
- https://www.sbb.ch/en
Train from Chur to Zürich HB
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- €24–45
- Website
- https://www.sbb.ch/en
Train from Lugano to Milano Centrale
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- €30–60
- Website
- https://www.sbb.ch/en
- Phone
- +41 58 580 70 70
- info@sob.ch
- Website
- sob.ch
Train from Chur to Zürich HB
- Ave. Duration
- 1h 37m
- Frequency
- Hourly
- Schedules at
- sob.ch
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 2h 11m
- Frequency
- Every 4 hours
- Estimated price
- €15–20
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 25m
- Frequency
- Once daily
- Estimated price
- €11–22
- Website
- https://www.trenitalia.com/en.html
Train from Milano Centrale to Perugia
- Ave. Duration
- 5h 37m
- Frequency
- Once daily
- Estimated price
- €25–60
- Website
- https://www.trenitalia.com/en.html
- Phone
- +41 (0)848 818 818
- info@postauto.ch
- Website
- postauto.ch
Bus from St. Moritz, Bahnhof to Cassarate, Monte Brè
- Ave. Duration
- 3h 8m
- Frequency
- Once daily
- Estimated price
- €11–16
- Website
- https://www.postauto.ch
Bus from St. Moritz, Bahnhof to Lugano, Stazione Nord
- Ave. Duration
- 3h 35m
- Frequency
- Once daily
- Estimated price
- €11–16
- Website
- https://www.postauto.ch
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Lugano to Milano, Autostazione Lampugnano
- Ave. Duration
- 1h 10m
- Frequency
- Every 4 hours
- Estimated price
- €8–17
- Website
- https://www.flixbus.co.uk
Bus from Milano, San Donato M3 to Perugia
- Ave. Duration
- 6h 20m
- Frequency
- 3 times a day
- Estimated price
- €20–45
- Website
- https://www.flixbus.co.uk
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Lugano to Milano, Autostazione Lampugnano
- Ave. Duration
- 1h 40m
- Frequency
- Once daily
- Estimated price
- €6–18
- Website
- https://www.itabus.it/en/home
Bus from Milano, Autostazione Lampugnano to Perugia Train Station Bus Stop
- Ave. Duration
- 6h 40m
- Frequency
- 6 times a week
- Estimated price
- €12–45
- Website
- https://www.itabus.it/en/home
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Lugano to Milano, Autostazione Lampugnano
- Ave. Duration
- 1h 10m
- Frequency
- Once daily
- Estimated price
- €8–12
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +420 222 222 221
- info@regiojet.cz
- Website
- regiojet.com
Bus from Lugano to Milano, Autostazione Lampugnano
- Ave. Duration
- 1h 20m
- Frequency
- Once a week
- Estimated price
- €10
- Website
- https://regiojet.com/
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
Read the travel guide
Italian Lakes: Getting around by train
Read the travel guide
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
St. Moritz to Perugia bus services, operated by PostAuto Schweiz AG, arrive at Cassarate, Monte Brè station.
St. Moritz to Perugia train services, operated by Rhätische Bahn, arrive at Tirano station.
Yes, the driving distance between St. Moritz to Perugia is 593 km. It takes approximately 7h 7m to drive from St. Moritz to Perugia.
Book your St. Moritz to Perugia train tickets online with Omio.
There are 1985+ hotels available in Perugia.




















































