There are 8 ways to get from St. Moritz to Perugia by bus, train, car, plane, 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.
Bus, train
best- Take the bus from St. Moritz, Bahnhof to Chiavenna, Stazionebus 604 / ...
- Take the train from Chiavenna to Milano Porta Garibalditrain R13
- Take the train from Milano P.Garibaldi to Perugiatrain Fr
10h 4m€79–149Bus
cheapest- Take the bus from St. Moritz, Bahnhof to Cassarate, Monte Brèbus 631
- Take the bus from Lugano to Milanbus
- Take the bus from Milano, Autostazione Lampugnano to Perugia Train Station Bus Stopbus
13h 21m€44–77Drive 593.4 km
- Drive from St. Moritz to Perugiacar 593.4 km
7h 6m€103–149Train, 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€186–485Train
- Take the train from St. Moritz to Tiranotrain R19 / ...
- Take the train from Tirano to Milano Centraletrain Re8
- Take the train from Milano Centrale to Reggio Emilia Avtrain Fr
- Take the train from Reggio Emilia Av to Perugiatrain Fr
11h 7mBus, train via Lugano
- 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€71–154Train, fly to Fiumicino International Airport
- Take the train from St. Moritz to Churtrain
- Take the train from Chur to Zürich HBtrain
- Fly from Zurich Airport (ZRH) to Fiumicino International Airport (FCO)plane ZRH - FCO
- Take the train from Roma Termini to Folignotrain
11h 49m€132–379Train, 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 Firenze S.M.N.train
- Take the train from Firenze S.M.N. to Perugiatrain
10h 58m€178–543
St. Moritz to Perugia by bus and train
Questions & Answers
The cheapest way to get from St. Moritz to Perugia is to bus which costs €40 - €80 and takes 13h 21m.
The fastest way to get from St. Moritz to Perugia is to drive which takes 7h 6m 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 11h 7m.
The distance between St. Moritz and Perugia is 618 km. The road distance is 593.4 km.
The best way to get from St. Moritz to Perugia without a car is to bus and train which takes 10h 4m and costs €75 - €150.
It takes approximately 10h 4m 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 bus which takes 13h 21m and costs €40 - €80. Alternatively, you can train, which costs and takes 11h 7m.
What companies run services between St. Moritz, Switzerland and Perugia, Italy?
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. Alternatively, you can take a train from St. Moritz to Perugia via Tirano, Milano Centrale, and Reggio Emilia Av in around 11h 7m.
- Website
- ita-airways.com
Flights from Zurich Airport to Florence Peretola Airport
- Ave. Duration
- 1h 13m
- When
- Every day
- Estimated price
- €95–320
Flights from Zurich Airport to Florence Peretola Airport via Munich
- Ave. Duration
- 3h 20m
- When
- Every day
- Estimated price
- €200–900
Flights from Zurich Airport to Fiumicino International Airport
- Ave. Duration
- 1h 32m
- When
- Every day
- Estimated price
- €75–370
Flights from Zurich Airport to Fiumicino International Airport via Stuttgart
- Ave. Duration
- 3h 20m
- When
- Tuesday
- Estimated price
- €90–250
Flights from Zurich Airport to Fiumicino International Airport via Bologna Guglielmo Marconi Airport
- Ave. Duration
- 3h 25m
- When
- Monday, Tuesday, Thursday, Friday, and Sunday
- Estimated price
- €75–370
Flights from Zurich Airport to Fiumicino International Airport via Florence Peretola Airport
- Ave. Duration
- 3h 25m
- When
- Every day
- Estimated price
- €75–370
Flights from Zurich Airport to Bologna Guglielmo Marconi Airport
- Ave. Duration
- 1h 5m
- When
- Every day
- Estimated price
- €85–390
- Website
- swiss.com
Flights from Zurich Airport to Florence Peretola Airport
- Ave. Duration
- 1h 13m
- When
- Every day
- Estimated price
- €95–320
Flights from Zurich Airport to Fiumicino International Airport
- Ave. Duration
- 1h 32m
- When
- Every day
- Estimated price
- €75–370
Flights from Zurich Airport to Fiumicino International Airport via Bologna Guglielmo Marconi Airport
- Ave. Duration
- 3h 25m
- When
- Monday, Tuesday, Thursday, Friday, and Sunday
- Estimated price
- €75–370
Flights from Zurich Airport to Fiumicino International Airport via Florence Peretola Airport
- Ave. Duration
- 3h 25m
- When
- Every day
- Estimated price
- €75–370
Flights from Zurich Airport to Bologna Guglielmo Marconi Airport
- Ave. Duration
- 1h 5m
- When
- Every day
- Estimated price
- €85–390
- Website
- lufthansa.com
Flights from Zurich Airport to Florence Peretola Airport via Munich
- Ave. Duration
- 3h 16m
- When
- Every day
- Estimated price
- €200–900
- Website
- easyjet.com
Flights from Zurich Airport to Fiumicino International Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €40–150
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Chiavenna to Milano Porta Garibaldi
- Ave. Duration
- 2h 44m
- Frequency
- Once a week
- Estimated price
- €8–11
- Website
- https://www.trenord.it/en/
Train from Tirano to Milano Centrale
- Ave. Duration
- 2h 33m
- Frequency
- Twice daily
- Estimated price
- €10–13
- Website
- https://www.trenord.it/en/
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano P.Garibaldi to Perugia
- Ave. Duration
- 3h 42m
- Frequency
- 6 times a week
- Estimated price
- €65–130
- Schedules at
- trenitalia.com
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 31m
- Frequency
- 6 times a week
- Estimated price
- €22–45
- Schedules at
- trenitalia.com
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 44 min
- Frequency
- Hourly
- Estimated price
- €22–45
- Schedules at
- trenitalia.com
Train from Reggio Emilia Av to Perugia
- Ave. Duration
- 2h 48m
- Frequency
- 6 times a week
- Estimated price
- €45–85
- Schedules at
- trenitalia.com
Train from Roma Termini to Foligno
- Ave. Duration
- 1h 42m
- Frequency
- Once daily
- Estimated price
- €22–45
- Schedules at
- trenitalia.com
Train from Bologna Centrale to Firenze S.M.N.
- Ave. Duration
- 37 min
- Frequency
- Every 30 minutes
- Estimated price
- €13–26
- Schedules at
- trenitalia.com
- Phone
- +41 81 288 65 65
- railservice@rhb.ch
- Website
- rhb.ch
Train from St. Moritz to Chur
- Ave. Duration
- 1h 57m
- Frequency
- Hourly
- Website
- https://www.rhb.ch/en/
Train from St. Moritz to Tirano
- Ave. Duration
- 2h 35m
- Frequency
- Hourly
- Website
- https://www.rhb.ch/en/
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from St. Moritz to Chur
- Ave. Duration
- 1h 57m
- Frequency
- Once daily
- Estimated price
- €30–90
- Website
- https://www.sbb.ch/en
Train from Chur to Zürich HB
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- €40–120
- Website
- https://www.sbb.ch/en
Train from Lugano to Milano Centrale
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- €28–80
- Website
- https://www.sbb.ch/en
- Phone
- +41 58 580 70 70
- Website
- sob.ch
Train from Chur to Zürich HB
- Ave. Duration
- 1h 37m
- Frequency
- Hourly
- Estimated price
- €35–60
- 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
- €19–35
- Website
- https://www.trenitalia.com/en.html
Train from Roma Termini to Foligno
- Ave. Duration
- 1h 58m
- Frequency
- Every 2 hours
- Estimated price
- €18–35
- Website
- https://www.trenitalia.com/en.html
Train from Bologna Centrale to Firenze S.M.N.
- Ave. Duration
- 1h 35m
- Frequency
- Twice daily
- Estimated price
- €11–19
- 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
- €15–35
- Website
- https://www.trenitalia.com/en.html
Train from Roma Termini to Foligno
- Ave. Duration
- 2h 20m
- Frequency
- 3 times a day
- Estimated price
- €15–35
- Website
- https://www.trenitalia.com/en.html
Train from Bologna Centrale to Firenze S.M.N.
- Ave. Duration
- 1h 16m
- Frequency
- Once daily
- Estimated price
- €9–21
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 46 min
- Frequency
- Once daily
- Estimated price
- €19–40
- Website
- https://www.italotreno.it/en
Train from Bologna Centrale to Firenze S.M.N.
- Ave. Duration
- 46 min
- Frequency
- 3 times a day
- Estimated price
- €12–24
- Website
- https://www.italotreno.it/en
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Bologna Centrale to Firenze S.M.N.
- Ave. Duration
- 59 min
- Frequency
- Once daily
- Estimated price
- €27–70
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €45–70
- 2nd Class
- €27–40
- Phone
- +41 (0)848 818 818
- info@postauto.ch
- Website
- postauto.ch
Bus from St. Moritz, Bahnhof to Chiavenna, Stazione
- Ave. Duration
- 1h 38m
- Frequency
- Hourly
- Estimated price
- €5–8
- Website
- https://www.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
- https://www.flixbus.fr
Bus from Lugano to Milan
- Ave. Duration
- 1h 10m
- Frequency
- Every 4 hours
- Estimated price
- €5–9
- 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
- €30–55
- Website
- https://www.flixbus.co.uk
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Lugano to Milan
- Ave. Duration
- 1h 40m
- Frequency
- Once daily
- Estimated price
- €4–8
- 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
- €26–50
- Website
- https://www.itabus.it/en/home
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 6m to drive from St. Moritz to Perugia.
Book your St. Moritz to Perugia train tickets online with Omio.
There are 2130+ hotels available in Perugia.



















































