There are 7 ways to get from Perugia to Zermatt by train (Trenitalia), bus, 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 (Trenitalia)
best- Take the train from Perugia to Rho-Fiera Milanotrain Fr
- Take the train from Rho-Fiera Milano to Visptrain Ec
8h 37mCHF 110–221Bus, train
cheapest- Take the bus from Perugia to Milano, San Donato M3bus 529
- Take the train from Milano Centrale to Domodossolatrain
- Take the train from Brig Bahnhofplatz to Zermatt, Bahnhoftrain Gex
12h 18mCHF 67–179Bus to Fiumicino International Airport, fly to Milan Linate Airport, train
- Take the bus from Perugia to Fiumicino Aeroporto T3bus
- Fly from Fiumicino International Airport (FCO) to Milan Linate Airport (LIN)plane FCO - LIN
- Take the train from Milano Centrale to Brigtrain
- Take the train from Brig Bahnhofplatz to Zermatt, Bahnhoftrain
10h 8mCHF 123–345Train via Milan
- Take the train from Perugia to Milano Centraletrain Ic
- Take the train from Milano Centrale to Brigtrain Ec
- Take the train from Brig Bahnhofplatz to Zermatt, Bahnhoftrain Gex
10h 40mCHF 76–153Bus to Fiumicino International Airport, fly to Milano Malpensa Airport, train
- Take the bus from Perugia to Fiumicino Aeroporto T3bus
- Fly from Fiumicino International Airport (FCO) to Milano Malpensa Airport (MXP)plane FCO - MXP
- Take the train from Busto Arsizio to Domodossolatrain
- Take the train from Brig Bahnhofplatz to Zermatt, Bahnhoftrain
9h 58mCHF 104–318Train 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 Flughafen to Visptrain
10h 23mCHF 156–418Train 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 Milano Centrale to Brigtrain
- Take the train from Brig Bahnhofplatz to Zermatt, Bahnhoftrain
11h 56mCHF 159–366
Perugia to Zermatt by train (Trenitalia)
Questions & Answers
The cheapest way to get from Perugia to Zermatt is to bus and train which costs SFr 65 - SFr 180 and takes 12h 18m.
The fastest way to get from Perugia to Zermatt is to train which takes 8h 37m and costs SFr 110 - SFr 230.
No, there is no direct train from Perugia to Zermatt. However, there are services departing from Perugia and arriving at Zermatt, Bahnhof via Rho-Fiera Milano and Visp. The journey, including transfers, takes approximately 8h 37m.
The distance between Perugia and Zermatt is 650 km.
The best way to get from Perugia to Zermatt without a car is to train which takes 8h 37m and costs SFr 110 - SFr 230.
It takes approximately 8h 37m to get from Perugia to Zermatt, including transfers.
Perugia to Zermatt train services, operated by Trenitalia Frecce, depart from Perugia station.
Perugia to Zermatt train services, operated by Trenitalia Frecce, arrive at Rho-Fiera Milano station.
Book your Perugia to Zermatt train tickets online with Omio.
There are 2189+ hotels available in Zermatt.
What companies run services between Perugia, Italy and Zermatt, Switzerland?
You can take a train from Perugia to Zermatt, Bahnhof via Rho-Fiera Milano and Visp in around 8h 37m.
- Website
- ita-airways.com
Flights from Fiumicino International Airport to Milan Linate Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- CHF 40–140
Flights from Fiumicino International Airport to Milan Linate Airport via Naples
- Ave. Duration
- 3h 5m
- When
- Every day
- Estimated price
- CHF 40–140
Flights from Florence Peretola Airport to Zurich Airport
- Ave. Duration
- 1h 16m
- When
- Every day
- Estimated price
- CHF 70–200
Flights from Florence Peretola Airport to Zurich Airport via Fiumicino International Airport
- Ave. Duration
- 3h 22m
- When
- Every day
- Estimated price
- CHF 70–260
Flights from Raffaello Sanzio Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 25m
- When
- Wednesday and Thursday
- Estimated price
- CHF 130–410
- Website
- lufthansa.com
Flights from Fiumicino International Airport to Milan Linate Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- CHF 40–140
Flights from Florence Peretola Airport to Zurich Airport via Munich
- Ave. Duration
- 3h 5m
- When
- Every day
- Estimated price
- CHF 110–360
Flights from Raffaello Sanzio Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 25m
- When
- Wednesday and Thursday
- Estimated price
- CHF 130–410
- Website
- aeroitalia.com
Flights from Fiumicino International Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- CHF 35–240
- Website
- flexflight.dk
Flights from Fiumicino International Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- CHF 35–240
- Website
- swiss.com
Flights from Florence Peretola Airport to Zurich Airport
- Ave. Duration
- 1h 16m
- When
- Every day
- Estimated price
- CHF 70–200
Flights from Florence Peretola Airport to Zurich Airport via Fiumicino International Airport
- Ave. Duration
- 3h 20m
- When
- Tuesday, Wednesday, Friday, Saturday, and Sunday
- Estimated price
- CHF 70–260
- Website
- neosair.it
Flights from Fiumicino International Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Monday and Sunday
- Estimated price
- CHF 150–420
- Website
- dat.dk
Flights from Raffaello Sanzio Airport to Milan Linate Airport
- Ave. Duration
- 1h 20m
- When
- Monday to Friday
- Estimated price
- CHF 100–140
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Perugia to Rho-Fiera Milano
- Ave. Duration
- 4h 1m
- Frequency
- 6 times a week
- Estimated price
- CHF 55–100
- Schedules at
- trenitalia.com
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 1h 37m
- Frequency
- 6 times a week
- Estimated price
- CHF 15–35
- Schedules at
- trenitalia.com
Train from Foligno to Jesi
- Ave. Duration
- 1h 10m
- Frequency
- Once daily
- Estimated price
- CHF 10–45
- Schedules at
- trenitalia.com
- Super Economy
- CHF 10–15
- Base Standard
- CHF 24–35
- Base Premium
- CHF 30–45
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Rho-Fiera Milano to Visp
- Ave. Duration
- 2h 7m
- Frequency
- 3 times a week
- Estimated price
- CHF 35–80
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 55–80
- 2nd Class
- CHF 35–50
Train from Milano Centrale to Brig
- Ave. Duration
- 2h 4m
- Frequency
- Every 4 hours
- Estimated price
- CHF 35–80
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 55–80
- 2nd Class
- CHF 35–50
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Centrale to Domodossola
- Ave. Duration
- 1h 41m
- Frequency
- Every 2 hours
- Estimated price
- CHF 8–10
- Website
- https://www.trenord.it/en/
Train from Busto Arsizio to Domodossola
- Ave. Duration
- 1h 9m
- Frequency
- Every 3 hours
- Estimated price
- CHF 6–8
- Website
- https://www.trenord.it/en/
- Phone
- +41 (0)848 642 442
- railcenter@mgbahn.ch
- Website
- matterhorngotthardbahn.ch
Train from Brig Bahnhofplatz to Zermatt, Bahnhof
- Ave. Duration
- 1h 28m
- Frequency
- Hourly
- Estimated price
- CHF 25–55
- Website
- https://www.matterhorngotthardbahn.ch/en/
- 2nd Class Ticket
- CHF 25–31
- 1st Class Ticket
- CHF 45–55
- Phone
- +41 81 288 65 65
- info@glacierexpress.ch
- Website
- glacierexpress.ch
Train from Brig Bahnhofplatz to Zermatt, Bahnhof
- Ave. Duration
- 1h 17m
- Frequency
- Twice daily
- Schedules at
- glacierexpress.ch
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Perugia to Milano Centrale
- Ave. Duration
- 5h 38m
- Frequency
- Once daily
- Estimated price
- CHF 27–60
- Website
- https://www.trenitalia.com/en.html
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 1h 29m
- Frequency
- Once daily
- Estimated price
- CHF 14–20
- Website
- https://www.trenitalia.com/en.html
Train from Foligno to Jesi
- Ave. Duration
- 1h 20m
- Frequency
- Twice daily
- Estimated price
- CHF 7–11
- Website
- https://www.trenitalia.com/en.html
- 2nd Class
- CHF 7–11
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Busto Arsizio to Domodossola
- Ave. Duration
- 1h 46m
- Frequency
- Every 4 hours
- Estimated price
- CHF 6–9
- Website
- https://www.trenitalia.com/en.html
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 2h 7m
- Frequency
- Every 4 hours
- Estimated price
- CHF 9–14
- Website
- https://www.trenitalia.com/en.html
Train from Foligno to Jesi
- Ave. Duration
- 1h 21m
- Frequency
- Every 3 hours
- Estimated price
- CHF 6–10
- Website
- https://www.trenitalia.com/en.html
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zürich Flughafen to Visp
- Ave. Duration
- 2h 19m
- Frequency
- Hourly
- Estimated price
- CHF 55–110
- Website
- https://www.sbb.ch/en
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Perugia to Milano, San Donato M3
- Ave. Duration
- 6h 25m
- Frequency
- 3 times a day
- Estimated price
- CHF 21–60
- Website
- https://www.flixbus.co.uk
Bus from Perugia to Fiumicino Aeroporto T3
- Ave. Duration
- 2h 25m
- Frequency
- 6 times a week
- Estimated price
- CHF 21–60
- Website
- https://www.flixbus.co.uk
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
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Want to know more about Flixbus?
Read the travel guide







































