There are 8 ways to get from Perugia to Locarno by train (Trenitalia), bus, train, car, 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 Bologna
best- Take the train from Perugia to Firenze S.M.N.train Re
- Take the train from Firenze S.M.N. to Bologna Centraletrain Fr
- Take the train from Bologna centrale to Milano Centraletrain
- Take the train from Milano Centrale to Locarnotrain
6h 47mCHF 83–275Bus
cheapest- Take the bus from Perugia Train Station Bus Stop to Milano, Autostazione Lampugnanobus Itabus
- Take the bus from Milan to Bellinzonabus FlixBus 076
10h 37mCHF 41–75Bus, train
- Take the bus from Perugia to Milano, San Donato M3bus N539 / ...
- Take the train from Milano Centrale to Locarnotrain Re80
9h 23mCHF 42–68Drive 555 km
- Drive from Perugia to Locarnocar 555 km
5h 37mCHF 92–132Train to Fiumicino International Airport, fly to Milan Linate Airport, train
- Take the train from Foligno to Roma Terminitrain
- Fly from Fiumicino International Airport (FCO) to Milan Linate Airport (LIN)plane FCO - LIN
- Take the train from Monza to Locarnotrain
9h 37mCHF 79–216Train
- Take the train from Perugia to Firenze S.M.N.train Re
- Take the train from Firenze S.M.N. to Milano Centraletrain Fr
- Take the train from Milano Centrale to Locarnotrain
6h 58mCHF 80–245Train to Raffaello Sanzio Airport, fly to Milan Linate Airport, train
- Take the train from Foligno to Jesitrain
- Fly from Raffaello Sanzio Airport (AOI) to Milan Linate Airport (LIN)plane AOI - LIN
- Take the train from Monza to Locarnotrain
8h 45mCHF 118–330Train to Florence Peretola Airport, fly to Zurich Airport, train
- Take the train from Perugia to Firenze S.M.N.train
- Fly from Florence Peretola Airport (FLR) to Zurich Airport (ZRH)plane FLR - ZRH
- Take the train from Zürich HB to Bellinzonatrain
8h 46mCHF 170–361
Perugia to Locarno by bus, subway, and train
Questions & Answers
The cheapest way to get from Perugia to Locarno is to bus and train which costs SFr 40 - SFr 70 and takes 9h 23m.
The fastest way to get from Perugia to Locarno is to drive which takes 5h 37m and costs SFr 90 - SFr 140.
No, there is no direct bus from Perugia station to Locarno. However, there are services departing from Perugia Train Station Bus Stop and arriving at Locarno, Debarcadero via Milan and Bellinzona, Stazione. The journey, including transfers, takes approximately 10h 37m.
No, there is no direct train from Perugia to Locarno. However, there are services departing from Perugia and arriving at Locarno via Firenze S.M.N., Bologna centrale and Milano Centrale. The journey, including transfers, takes approximately 6h 47m.
The distance between Perugia and Locarno is 565 km. The road distance is 555 km.
The best way to get from Perugia to Locarno without a car is to train via Bologna which takes 6h 47m and costs SFr 80 - SFr 280.
It takes approximately 6h 47m to get from Perugia to Locarno, including transfers.
Perugia to Locarno bus services, operated by Itabus S.p.A., depart from Perugia Train Station Bus Stop.
Perugia to Locarno train services, operated by Trenitalia, depart from Perugia station.
The best way to get from Perugia to Locarno is to train via Bologna which takes 6h 47m and costs SFr 80 - SFr 280. Alternatively, you can bus, which costs SFr 40 - SFr 75 and takes 10h 37m.
What companies run services between Perugia, Italy and Locarno, Switzerland?
You can take a train from Perugia to Locarno via Firenze S.M.N., Bologna centrale, and Milano Centrale in around 6h 47m. Alternatively, you can take a bus from Perugia Train Station Bus Stop to Locarno, Debarcadero via Milan, Bellinzona, Castione-Arbedo, Bellinzona, and Bellinzona, Stazione in around 10h 37m.
- Website
- ita-airways.com
Flights from Fiumicino International Airport to Milan Linate Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- CHF 45–140
Flights from Florence Peretola Airport to Zurich Airport
- Ave. Duration
- 1h 18m
- When
- Every day
- Estimated price
- CHF 90–300
Flights from Florence Peretola Airport to Zurich Airport via Fiumicino International Airport
- Ave. Duration
- 3h 20m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- CHF 100–250
- Website
- swiss.com
Flights from Florence Peretola Airport to Zurich Airport
- Ave. Duration
- 1h 18m
- When
- Every day
- Estimated price
- CHF 90–300
Flights from Florence Peretola Airport to Zurich Airport via Fiumicino International Airport
- Ave. Duration
- 3h 20m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- CHF 100–250
- Website
- flexflight.dk
Flights from Fiumicino International Airport to Milan Linate Airport via Elba Island
- Ave. Duration
- 3h 10m
- When
- Sunday
- Estimated price
- CHF 30–370
- Website
- dat.dk
Flights from Raffaello Sanzio Airport to Milan Linate Airport
- Ave. Duration
- 1h 20m
- When
- Monday to Friday
- Estimated price
- CHF 100–130
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 2h 7m
- Frequency
- Every 3 hours
- Estimated price
- CHF 17–28
- Website
- https://www.trenitalia.com/en.html
Train from Firenze S.M.N. to Bologna Centrale
- Ave. Duration
- 1h 28m
- Frequency
- 4 times a day
- Estimated price
- CHF 10–17
- Website
- https://www.trenitalia.com/en.html
Train from Foligno to Roma Termini
- Ave. Duration
- 2h 23m
- Frequency
- Hourly
- Estimated price
- CHF 17–28
- Website
- https://www.trenitalia.com/en.html
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 2h 7m
- Frequency
- Every 3 hours
- Estimated price
- CHF 17–28
- Website
- https://www.trenitalia.com/en.html
Train from Foligno to Jesi
- Ave. Duration
- 1h 18m
- Frequency
- Hourly
- Estimated price
- CHF 11–19
- Website
- https://www.trenitalia.com/en.html
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 2h 7m
- Frequency
- Every 3 hours
- Estimated price
- CHF 17–28
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 1h 29m
- Frequency
- Twice daily
- Estimated price
- CHF 14–35
- Website
- https://www.trenitalia.com/en.html
Train from Firenze S.M.N. to Bologna Centrale
- Ave. Duration
- 1h 17m
- Frequency
- 4 times a day
- Estimated price
- CHF 9–19
- Website
- https://www.trenitalia.com/en.html
Train from Foligno to Roma Termini
- Ave. Duration
- 2h 5m
- Frequency
- 5 times a day
- Estimated price
- CHF 14–35
- Website
- https://www.trenitalia.com/en.html
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 1h 29m
- Frequency
- Twice daily
- Estimated price
- CHF 14–35
- Website
- https://www.trenitalia.com/en.html
Train from Firenze S.M.N. to Milano Centrale
- Ave. Duration
- 3h 54m
- Frequency
- 4 times a day
- Estimated price
- CHF 30–65
- Website
- https://www.trenitalia.com/en.html
Train from Foligno to Jesi
- Ave. Duration
- 1h 20m
- Frequency
- 3 times a day
- Estimated price
- CHF 10–21
- Website
- https://www.trenitalia.com/en.html
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 1h 29m
- Frequency
- Twice daily
- Estimated price
- CHF 14–35
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 1h 37m
- Frequency
- Twice daily
- Estimated price
- CHF 20–40
- Schedules at
- trenitalia.com
Train from Firenze S.M.N. to Bologna Centrale
- Ave. Duration
- 38 min
- Frequency
- Every 15 minutes
- Estimated price
- CHF 12–25
- Schedules at
- trenitalia.com
Train from Foligno to Roma Termini
- Ave. Duration
- 1h 39m
- Frequency
- 4 times a day
- Estimated price
- CHF 20–40
- Schedules at
- trenitalia.com
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 1h 37m
- Frequency
- Twice daily
- Estimated price
- CHF 20–40
- Schedules at
- trenitalia.com
Train from Firenze S.M.N. to Milano Centrale
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- CHF 40–85
- Schedules at
- trenitalia.com
Train from Foligno to Jesi
- Ave. Duration
- 1h 10m
- Frequency
- 4 times a day
- Estimated price
- CHF 14–27
- Schedules at
- trenitalia.com
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 1h 37m
- Frequency
- Twice daily
- Estimated price
- CHF 20–40
- Schedules at
- trenitalia.com
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Firenze S.M.N. to Bologna Centrale
- Ave. Duration
- 1h 12m
- Frequency
- Twice daily
- Estimated price
- CHF 25–65
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 45–65
- 2nd Class
- CHF 25–35
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Firenze S.M.N. to Bologna Centrale
- Ave. Duration
- 41 min
- Frequency
- Twice daily
- Estimated price
- CHF 10–21
- Website
- https://www.italotreno.it/en
Train from Bologna centrale to Milano Centrale
- Ave. Duration
- 1h 4m
- Frequency
- Every 30 minutes
- Estimated price
- CHF 24–50
- Website
- https://www.italotreno.it/en
Train from Firenze S.M.N. to Milano Centrale
- Ave. Duration
- 1h 55m
- Frequency
- Twice daily
- Estimated price
- CHF 35–70
- Website
- https://www.italotreno.it/en
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Milano Centrale to Locarno
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- CHF 35–120
- Website
- https://www.sbb.ch/en
Train from Milano Centrale to Locarno
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- CHF 35–120
- Website
- https://www.sbb.ch/en
Train from Zürich HB to Bellinzona
- Ave. Duration
- 1h 39m
- Frequency
- Hourly
- Estimated price
- CHF 50–160
- Website
- https://www.sbb.ch/en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Centrale to Locarno
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- CHF 7–10
- Website
- https://www.trenord.it/en/
Train from Monza to Locarno
- Ave. Duration
- 1h 45m
- Frequency
- Hourly
- Estimated price
- CHF 5–7
- Website
- https://www.trenord.it/en/
Train from Monza to Locarno
- Ave. Duration
- 1h 45m
- Frequency
- Hourly
- Estimated price
- CHF 5–7
- Website
- https://www.trenord.it/en/
- Phone
- +41 58 580 70 70
- Website
- sob.ch
Train from Zürich HB to Bellinzona
- Ave. Duration
- 2h 55m
- Frequency
- Every 3 hours
- Estimated price
- CHF 45–70
- Schedules at
- sob.ch
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- https://www.flixbus.fr
Bus from Perugia to Milano, San Donato M3
- Ave. Duration
- 6h 25m
- Frequency
- 3 times a day
- Estimated price
- CHF 30–55
- Website
- https://www.flixbus.co.uk
Bus from Milan to Bellinzona
- Ave. Duration
- 1h 45m
- Frequency
- Once daily
- Estimated price
- CHF 7–13
- Website
- https://www.flixbus.co.uk
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Perugia Train Station Bus Stop to Milano, Autostazione Lampugnano
- Ave. Duration
- 6h 40m
- Frequency
- Once daily
- Estimated price
- CHF 27–50
- Website
- https://www.itabus.it/en/home
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
Italian Lakes: Getting around by train
Read the travel guide
5 incredible day trips from Florence by train
Read the travel guide
Italy Travel Guides
Read the travel guide
More Questions & Answers
Perugia to Locarno bus services, operated by Itabus S.p.A., arrive at Milano, Autostazione Lampugnano station.
Perugia to Locarno train services, operated by Trenitalia, arrive at Firenze S.M.N. station.
Yes, the driving distance between Perugia to Locarno is 555 km. It takes approximately 5h 37m to drive from Perugia to Locarno.
Book your Perugia to Locarno train tickets online with Omio.
Book your Perugia to Locarno bus tickets online with Omio.
There are 3056+ hotels available in Locarno.








































