There are 7 ways to get from St. Moritz to Perugia by bus, train (Trenitalia), 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.
Bus
best- Take the bus from St. Moritz, Bahnhof to Castagnola, Paesebus 631
- Take the bus from Lugano Via Pian Scairolo to Florence Villa Constanza Bus Stationbus
- Take the bus from Florence to Perugiabus
10h 47mBus, train
cheapest- Take the bus from St. Moritz, Bahnhof to Lugano, Stazione Nordbus 631
- Take the train from Lugano to Milano Centraletrain
- Take the bus from Milan to Perugia Train Station Bus Stopbus
12h 58m€67–158Train via Monza
- Take the train from St. Moritz to Tiranotrain R19 / ...
- Take the train from Tirano to Monzatrain Re8
- Take the train from Milano P.Garibaldi to Perugiatrain Fr
10h 49mDrive 593.5 km
- Drive from St. Moritz to Perugiacar 593.5 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–451Train
- 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 Perugiatrain Ic
12h 33mTrain, 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 59m€178–456
Zurich Airport (ZRH) to Florence Peretola Airport (FLR) flights
Questions & Answers
The cheapest way to get from St. Moritz to Perugia is to bus and train which costs €65 - €160 and takes 12h 58m.
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. However, there are services departing from St. Moritz, Bahnhof and arriving at Perugia via Castagnola, S. Domenico, Lugano, Centro, Lugano Via Pian Scairolo and Florence. The journey, including transfers, takes approximately 10h 47m.
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, Monza and Milano P.Garibaldi. The journey, including transfers, takes approximately 10h 49m.
The distance between St. Moritz and Perugia is 683 km. The road distance is 593.5 km.
The best way to get from St. Moritz to Perugia without a car is to bus which takes 10h 47m and costs .
It takes approximately 10h 47m to get from St. Moritz to Perugia, including transfers.
St. Moritz to Perugia bus services, operated by PostAuto 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 10h 47m and costs . Alternatively, you can train via Monza, which costs and takes 10h 49m.
What companies run services between St. Moritz, Switzerland and Perugia, Italy?
You can take a bus from St. Moritz, Bahnhof to Perugia via Castagnola, Paese, Castagnola, S. Domenico, Lugano, Centro, Pazzallo, P+R Fornaci, Lugano Via Pian Scairolo, and Florence in around 10h 47m. Alternatively, you can take a train from St. Moritz to Perugia via Tirano, Monza, and Milano P.Garibaldi in around 10h 49m.
- Website
- swiss.com
Flights from Zurich Airport to Florence Peretola Airport
- Ave. Duration
- 1h 13m
- When
- Every day
- Estimated price
- €95–250
Flights from Zurich Airport to Bologna Guglielmo Marconi Airport
- Ave. Duration
- 1h 5m
- When
- Every day
- Estimated price
- €85–270
- Website
- lufthansa.com
Flights from Zurich Airport to Florence Peretola Airport via Munich
- Ave. Duration
- 3h 16m
- When
- Every day
- Estimated price
- €170–700
- Phone
- +41 81 288 65 65
- railservice@rhb.ch
- Website
- Rhätische Bahn
Train from St. Moritz to Tirano
- Ave. Duration
- 2h 35m
- Frequency
- Hourly
- Website
- Rhätische Bahn
Train from St. Moritz to Chur
- Ave. Duration
- 1h 57m
- Frequency
- Hourly
- Website
- Rhätische Bahn
Train from St. Moritz to Tirano
- Ave. Duration
- 2h 35m
- Frequency
- Hourly
- Website
- Rhätische Bahn
Train from St. Moritz to Chur
- Ave. Duration
- 1h 57m
- Frequency
- Hourly
- Website
- Rhätische Bahn
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- Trenord
Train from Tirano to Monza
- Ave. Duration
- 2h 19m
- Frequency
- Hourly
- Estimated price
- €10–13
- Website
- Trenord
Train from Tirano to Milano Centrale
- Ave. Duration
- 2h 33m
- Frequency
- Hourly
- Estimated price
- €10–13
- Website
- Trenord
- Phone
- +39 06 68475475
- Website
- Trenitalia Frecce
Train from Milano P.Garibaldi to Perugia
- Ave. Duration
- 3h 42m
- Frequency
- 6 times a week
- Estimated price
- €65–130
- Schedules at
- Trenitalia Frecce
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 31m
- Frequency
- 6 times a week
- Estimated price
- €22–45
- Schedules at
- Trenitalia Frecce
Train from Bologna Centrale to Firenze S.M.N.
- Ave. Duration
- 37 min
- Frequency
- Every 30 minutes
- Estimated price
- €13–27
- Schedules at
- Trenitalia Frecce
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 31m
- Frequency
- 6 times a week
- Estimated price
- €22–45
- Schedules at
- Trenitalia Frecce
Train from St. Moritz to Chur
- Ave. Duration
- 1h 57m
- Frequency
- Once daily
- Estimated price
- €29–90
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Chur to Zürich HB
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- €40–120
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Lugano to Milano Centrale
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- €27–80
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from St. Moritz to Chur
- Ave. Duration
- 1h 57m
- Frequency
- Once daily
- Estimated price
- €29–90
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Chur to Zürich HB
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- €40–120
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +41 58 580 70 70
- Website
- Schweizerische Südostbahn AG
Train from Chur to Zürich HB
- Ave. Duration
- 1h 37m
- Frequency
- Hourly
- Estimated price
- €35–55
- Schedules at
- Schweizerische Südostbahn AG
Train from Chur to Zürich HB
- Ave. Duration
- 1h 37m
- Frequency
- Hourly
- Estimated price
- €35–55
- Schedules at
- Schweizerische Südostbahn AG
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 2h 11m
- Frequency
- Every 4 hours
- Estimated price
- €18–35
- Website
- Trenitalia
Train from Bologna Centrale to Firenze S.M.N.
- Ave. Duration
- 1h 35m
- Frequency
- Twice daily
- Estimated price
- €11–19
- Website
- Trenitalia
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 2h 11m
- Frequency
- Every 4 hours
- Estimated price
- €18–35
- Website
- Trenitalia
- Phone
- +39 06 68475475
- Website
- Trenitalia Intercity
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 25m
- Frequency
- Once daily
- Estimated price
- €16–35
- Website
- Trenitalia Intercity
Train from Milano Centrale to Perugia
- Ave. Duration
- 5h 37m
- Frequency
- Once daily
- Estimated price
- €45–110
- Website
- Trenitalia Intercity
Train from Bologna Centrale to Firenze S.M.N.
- Ave. Duration
- 1h 16m
- Frequency
- Once daily
- Estimated price
- €9–21
- Website
- Trenitalia Intercity
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 25m
- Frequency
- Once daily
- Estimated price
- €16–35
- Website
- Trenitalia Intercity
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Bologna Centrale to Firenze S.M.N.
- Ave. Duration
- 46 min
- Frequency
- 5 times a day
- Estimated price
- €11–23
- Website
- Italo Treno
- Phone
- +41 (0)848 818 818
- info@postauto.ch
- Website
- PostAuto AG
Bus from St. Moritz, Bahnhof to Castagnola, Paese
- Ave. Duration
- 3h 6m
- Frequency
- Once daily
- Estimated price
- €10–15
- Website
- PostAuto AG
Bus from St. Moritz, Bahnhof to Lugano, Stazione Nord
- Ave. Duration
- 3h 35m
- Frequency
- Once daily
- Estimated price
- €11–16
- Website
- PostAuto AG
- Phone
- +39 0362 185 0590
- info@onebus.it
- Website
- Onebus
Bus from Lugano Via Pian Scairolo to Florence Villa Constanza Bus Station
- Ave. Duration
- 3h 19m
- Frequency
- Once a week
- Website
- Onebus
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Florence to Perugia
- Ave. Duration
- 1h 50m
- Frequency
- Once daily
- Estimated price
- €11–20
- Website
- Flixbus
- Phone
- +39 06 88 93 82 32
- Website
- Itabus S.p.A.
Bus from Milan to Perugia Train Station Bus Stop
- Ave. Duration
- 5h 55m
- Frequency
- Once daily
- Estimated price
- €27–60
- Website
- Itabus S.p.A.
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
5 incredible day trips from Florence by train
Read the travel guide
More Questions & Answers
St. Moritz to Perugia bus services, operated by PostAuto AG, arrive at Castagnola, Paese 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 2183+ hotels available in Perugia.










































