There are 8 ways to get from Perugia to Milan by train (Trenitalia), bus, car, plane, rideshare, or train
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 Milano P.GaribaldiFr
3h 48m€27–80Bus
cheapest- Take the bus from Perugia to Milano, San Donato M3N539 / ...
6h 25m€17–60Drive 450 km
- Drive from Perugia to Milan450 km
4h 15m€70–101Bus to Fiumicino International Airport, fly to Milan Linate Airport
- Take the bus from Perugia to Fiumicino Aeroporto T3
- Fly from Fiumicino International Airport (FCO) to Milan Linate Airport (LIN)FCO - LIN
4h 48m€72–233Train via Florence
- Take the train from Perugia to Firenze S.M.N.4074 / ...
- Take the train from Florence Santa Maria Novella to Milan Rogoredo9948 / ...
4h 50m€36–101Rideshare
- Take the rideshare from Perugia to Milan449.6 km
5h 33m€25Bus to Fiumicino International Airport, fly to Milano Malpensa Airport, train
- Take the bus from Perugia to Fiumicino Aeroporto T3
- Fly from Fiumicino International Airport (FCO) to Milano Malpensa Airport (MXP)FCO - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
5h 41m€70–215Train, train to Raffaello Sanzio Airport, fly to Milan Linate Airport
- Take the train from Perugia to Foligno
- Take the train from Foligno to Jesi
- Fly from Raffaello Sanzio Airport (AOI) to Milan Linate Airport (LIN)AOI - LIN
6h 37m€104–257
Perugia to Milan by train (Trenitalia)
Questions & Answers
The cheapest way to get from Perugia to Milan is to rideshare which costs €25 and takes 5h 33m.
The fastest way to get from Perugia to Milan is to train which takes 3h 48m and costs €27 - €80.
Yes, there is a direct bus departing from Perugia and arriving at Milano, San Donato M3. Services depart three times a day, and operate every day. The journey takes approximately 6h 25m.
Yes, there is a direct train departing from Perugia and arriving at Milano P.Garibaldi. Services depart twice daily, and operate every day. The journey takes approximately 3h 48m.
The distance between Perugia and Milan is 450 km. The road distance is 450 km.
The best way to get from Perugia to Milan without a car is to train which takes 3h 48m and costs €27 - €80.
The train from Perugia to Milano P.Garibaldi takes 3h 48m including transfers and departs twice daily.
Perugia to Milan bus services, operated by FlixBus, depart from Perugia station.
Perugia to Milan train services, operated by Trenitalia Frecce, depart from Perugia station.
The best way to get from Perugia to Milan is to train which takes 3h 48m and costs €27 - €80. Alternatively, you can bus, which costs €17 - €60 and takes 6h 25m.
What companies run services between Perugia, Italy and Milan, Italy?
Trenitalia Frecce operates a train from Perugia to Milano P.Garibaldi 6 times a week. Tickets cost €40–80 and the journey takes 3h 48m. Trenitalia Intercity also services this route once daily. Alternatively, FlixBus operates a bus from Perugia to Milano, San Donato M3 3 times a day. Tickets cost €24–60 and the journey takes 6h 25m. Itabus S.p.A. also services this route once daily.
- Website
- ita-airways.com
Flights from Fiumicino International Airport to Milan Linate Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €45–150
Flights from Fiumicino International Airport to Milan Linate Airport via Naples
- Ave. Duration
- 3h 5m
- When
- Every day
- Estimated price
- €45–150
Flights from Raffaello Sanzio Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 25m
- When
- Wednesday and Thursday
- Estimated price
- €140–430
- Website
- aeroitalia.com
Flights from Fiumicino International Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €40–290
- Website
- flexflight.dk
Flights from Fiumicino International Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €40–290
- Website
- neosair.it
Flights from Fiumicino International Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Monday to Wednesday
- Estimated price
- €170–420
- Website
- dat.dk
Flights from Raffaello Sanzio Airport to Milan Linate Airport
- Ave. Duration
- 1h 20m
- When
- Monday to Friday
- Estimated price
- €110–150
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Perugia to Milano P.Garibaldi
- Ave. Duration
- 3h 48m
- Frequency
- 6 times a week
- Estimated price
- €40–80
- Schedules at
- trenitalia.com
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 1h 37m
- Frequency
- 6 times a week
- Estimated price
- €16–35
- Schedules at
- trenitalia.com
Train from Foligno to Jesi
- Ave. Duration
- 1h 10m
- Frequency
- Once daily
- Estimated price
- €11–50
- Schedules at
- trenitalia.com
- Super Economy
- €11–16
- Base Standard
- €26–35
- Base Premium
- €30–50
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Perugia to Milano P.Garibaldi
- Ave. Duration
- 5h 38m
- Frequency
- Once daily
- Estimated price
- €27–40
- Website
- https://www.trenitalia.com/en.html
- 2nd Class
- €27–40
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 1h 29m
- Frequency
- Once daily
- Estimated price
- €15–21
- Website
- https://www.trenitalia.com/en.html
Train from Perugia to Foligno
- Ave. Duration
- 31 min
- Frequency
- Twice daily
- Estimated price
- €9
- Website
- https://www.trenitalia.com/en.html
Train from Foligno to Jesi
- Ave. Duration
- 1h 20m
- Frequency
- Twice daily
- Estimated price
- €8–11
- Website
- https://www.trenitalia.com/en.html
- 2nd Class
- €8–11
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Perugia to Firenze S.M.N.
- Ave. Duration
- 2h 7m
- Frequency
- Every 4 hours
- Estimated price
- €10–15
- Website
- https://www.trenitalia.com/en.html
Train from Perugia to Foligno
- Ave. Duration
- 46 min
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenitalia.com/en.html
Train from Foligno to Jesi
- Ave. Duration
- 1h 21m
- Frequency
- Every 3 hours
- Estimated price
- €7–11
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Florence Santa Maria Novella to Milan Rogoredo
- Ave. Duration
- 1h 43m
- Frequency
- Every 3 hours
- Estimated price
- €26–70
- Website
- https://www.italotreno.it/en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 42 min
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +39 02-72494949
- Website
- malpensaexpress.it
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 42 min
- Frequency
- Hourly
- Estimated price
- €15
- Website
- https://www.malpensaexpress.it/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
- €24–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
- €26–60
- Website
- https://www.flixbus.co.uk
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Perugia to Milano, San Donato M3
- Ave. Duration
- 6h 40m
- Frequency
- Once daily
- Estimated price
- €17–24
- Website
- https://www.itabus.it/en/home
- Phone
- +3 318 576 2228
- Website
- blablacar.com
Rideshare from Perugia to Milan
- Ave. Duration
- 5h 33m
- Frequency
- Every 4 hours
- Estimated price
- €25
- 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
Perugia to Milan bus services, operated by FlixBus, arrive at Milano, San Donato M3 station.
Perugia to Milan train services, operated by Trenitalia Frecce, arrive at Milano P.Garibaldi station.
Yes, the driving distance between Perugia to Milan is 450 km. It takes approximately 4h 15m to drive from Perugia to Milan.
Book your Perugia to Milan train tickets online with Omio.
Book your Perugia to Milan bus tickets online with Omio, FlixBus and Distribusion.
There are 13461+ hotels available in Milan.
Check out Blablacar's carpooling service for rideshare options between Perugia and Milan. A great option if you don't have a driver's licence or want to avoid public transport.






























