There are 7 ways to get from Milan to Perugia by train (Trenitalia), bus, car, plane, train, or rideshare
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 Milano P.Garibaldi to PerugiaFr
3h 42m€40–80Bus
cheapest- Take the bus from Milano, San Donato M3 to PerugiaN539 / ...
6h 20m€17–65Drive 451 km
- Drive from Milan to Perugia451 km
4h 14m€70–100Fly, train
- Fly from Milan Linate Airport (LIN) to Fiumicino International Airport (FCO)LIN - FCO
- Take the train from Roma Termini to Foligno
7h 15m€63–251Train via Reggio Emilia
- Take the train from Milano Centrale to Reggio Emilia AvFr
- Take the train from Reggio Emilia Av to PerugiaFr
4h 32m€57–101Train via Florence
- Take the train from Milano Centrale to Florence Santa Maria Novella9923 / ...
- Take the train from Firenze S.M.N. to Perugia4077 / ...
5h 9m€40–110Rideshare
- Take the rideshare from Milan to Perugia450.7 km
5h 34m€22
Milan to Perugia by train (Trenitalia)
Questions & Answers
The cheapest way to get from Milan to Perugia is to rideshare which costs €22 and takes 5h 34m.
The fastest way to get from Milan to Perugia is to train which takes 3h 42m and costs €40 - €80.
Yes, there is a direct bus departing from Milano, San Donato M3 and arriving at Perugia. Services depart three times a day, and operate every day. The journey takes approximately 6h 20m.
Yes, there is a direct train departing from Milano P.Garibaldi and arriving at Perugia. Services depart twice daily, and operate every day. The journey takes approximately 3h 42m.
The distance between Milan and Perugia is 450 km. The road distance is 451 km.
The best way to get from Milan to Perugia without a car is to train which takes 3h 42m and costs €40 - €80.
The train from Milano P.Garibaldi to Perugia takes 3h 42m including transfers and departs twice daily.
Milan to Perugia bus services, operated by FlixBus, depart from Milano, San Donato M3 station.
Milan to Perugia train services, operated by Trenitalia Frecce, depart from Milano P.Garibaldi station.
The best way to get from Milan to Perugia is to train which takes 3h 42m and costs €40 - €80. Alternatively, you can bus, which costs €17 - €65 and takes 6h 20m.
What companies run services between Milan, Italy and Perugia, Italy?
Trenitalia Frecce operates a train from Milano P.Garibaldi to Perugia 6 times a week. Tickets cost €40–80 and the journey takes 3h 42m. Trenitalia Intercity also services this route once daily. Alternatively, FlixBus operates a bus from Milano, San Donato M3 to Perugia twice daily. Tickets cost €26–65 and the journey takes 6h 20m. Itabus S.p.A. also services this route 6 times a week.
- Website
- ita-airways.com
Flights from Milan Linate Airport to Fiumicino International Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €45–160
- 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
- €40–80
- Schedules at
- trenitalia.com
Train from Roma Termini to Foligno
- Ave. Duration
- 1h 42m
- Frequency
- Once daily
- Estimated price
- €23–35
- Schedules at
- trenitalia.com
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 44 min
- Frequency
- Hourly
- Estimated price
- €22–35
- Schedules at
- trenitalia.com
Train from Reggio Emilia Av to Perugia
- Ave. Duration
- 2h 48m
- Frequency
- 6 times a week
- Estimated price
- €40–65
- Schedules at
- trenitalia.com
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 34m
- Frequency
- 6 times a week
- Estimated price
- €16–35
- Schedules at
- trenitalia.com
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano P.Garibaldi to Perugia
- Ave. Duration
- 5h 37m
- Frequency
- Once daily
- Estimated price
- €40–70
- Website
- https://www.trenitalia.com/en.html
Train from Roma Termini to Foligno
- Ave. Duration
- 2h 10m
- Frequency
- 3 times a day
- Estimated price
- €9–23
- Website
- https://www.trenitalia.com/en.html
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 25m
- Frequency
- Twice daily
- Estimated price
- €11–22
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Roma Termini to Foligno
- Ave. Duration
- 2h 22m
- Frequency
- Hourly
- Estimated price
- €14–25
- Website
- https://www.trenitalia.com/en.html
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 2h 14m
- Frequency
- Every 4 hours
- Estimated price
- €10–15
- 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
- Every 3 hours
- Estimated price
- €16–40
- Website
- https://www.italotreno.it/en
Train from Milano Centrale to Florence Santa Maria Novella
- Ave. Duration
- 1h 55m
- Frequency
- Every 2 hours
- Estimated price
- €29–75
- Website
- https://www.italotreno.it/en
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Milano, San Donato M3 to Perugia
- Ave. Duration
- 6h 20m
- Frequency
- Twice daily
- Estimated price
- €26–65
- Website
- https://www.flixbus.co.uk
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Milano, San Donato M3 to Perugia
- Ave. Duration
- 6h 40m
- Frequency
- 6 times a week
- Estimated price
- €17–24
- Website
- https://www.itabus.it/en/home
- Phone
- +3 318 576 2228
- Website
- blablacar.com
Rideshare from Milan to Perugia
- Ave. Duration
- 5h 34m
- Frequency
- Twice daily
- Estimated price
- €22
- Schedules at
- blablacar.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
Want to know more about Flixbus?
Read the travel guide
Getting to Milan from the airport
Read the travel guide
More Questions & Answers
Milan to Perugia bus services, operated by FlixBus, arrive at Perugia station.
Milan to Perugia train services, operated by Trenitalia Frecce, arrive at Perugia station.
Yes, the driving distance between Milan to Perugia is 451 km. It takes approximately 4h 14m to drive from Milan to Perugia.
Book your Milan to Perugia train tickets online with Omio.
Book your Milan to Perugia bus tickets online with Omio, FlixBus and Distribusion.
There are 1975+ hotels available in Perugia.
Check out Blablacar's carpooling service for rideshare options between Milan and Perugia. A great option if you don't have a driver's licence or want to avoid public transport.






















