There are 6 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 Centrale to Perugiatrain Ic
5h 37m€45–130Rideshare
cheapest- Take the rideshare from Milan to Perugia450.7 km
5h 34m€22Bus
- Take the bus from Milano, San Donato M3 to Perugiabus N539 / ...
6h 20m€30–55Drive 451 km
- Drive from Milan to Perugiacar 451 km
4h 17m€70–101Fly, train
- Fly from Milan Linate Airport (LIN) to Fiumicino International Airport (FCO)plane LIN - FCO
- Take the train from Roma Termini to Folignotrain
6h 52m€70–203Bus via Duomo M3
- Take the bus from Milano to Perugiabus Milano
7h 9m€28–52
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 drive which takes 4h 17m and costs €65 - €110.
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 Centrale and arriving at Perugia. Services depart twice daily, and operate every day. The journey takes approximately 5h 37m.
The distance between Milan and Perugia is 461 km. The road distance is 451 km.
The best way to get from Milan to Perugia without a car is to train which takes 5h 37m and costs €45 - €130.
The train from Milan Centrale to Perugia takes 5h 37m 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 Intercity, depart from Milano Centrale station.
The best way to get from Milan to Perugia is to train which takes 5h 37m and costs €45 - €130. Alternatively, you can bus, which costs €30 - €55 and takes 6h 20m.
What companies run services between Milan, Italy and Perugia, Italy?
Trenitalia Intercity operates a train from Milano Centrale to Perugia once daily. Tickets cost €45–110 and the journey takes 5h 37m. Trenitalia Frecce also services this route 6 times a week. Alternatively, FlixBus operates a bus from Milano, San Donato M3 to Perugia 3 times a day. Tickets cost €30–55 and the journey takes 6h 20m.
- Website
- ita-airways.com
Flights from Milan Linate Airport to Fiumicino International Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €45–130
- Website
- aeroitalia.com
Flights from Milan Linate Airport to Fiumicino International Airport via Olbia
- Ave. Duration
- 3h
- When
- Every day
- Estimated price
- €100–370
- Website
- flexflight.dk
Flights from Milan Linate Airport to Fiumicino International Airport via Olbia
- Ave. Duration
- 3h
- When
- Every day
- Estimated price
- €100–370
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Centrale to Perugia
- Ave. Duration
- 5h 37m
- Frequency
- Once daily
- Estimated price
- €45–110
- 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
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Centrale to Perugia
- Ave. Duration
- 3h 42m
- Frequency
- 6 times a week
- Estimated price
- €65–130
- 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
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Roma Termini to Foligno
- Ave. Duration
- 1h 52m
- Frequency
- Hourly
- Estimated price
- €19–35
- Website
- https://www.trenitalia.com/en.html
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
- 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 Milano to Perugia
- Ave. Duration
- 5h 55m
- Frequency
- Once daily
- Estimated price
- €26–50
- 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 Intercity, arrive at Perugia station.
Yes, the driving distance between Milan to Perugia is 451 km. It takes approximately 4h 17m 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 and FlixBus.
There are 2083+ 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.

















