Journey information
Overview: Perugia to Milan flight
Take a flight from Perugia to Milan and enjoy the approximately 365 km long journey. Find schedules and pricing options for a convenient and affordable trip.
There are 1 flights per day. The earliest flight runs at 05:20, the last at 18:40. February is the cheapest month to fly.
Distance 365 km |
Average flight duration 55m |
Flights per day 1 |
Direct flights 1 |
First flight 5:20 AM |
Last flight 6:40 PM |
Cheapest Month Feb |
Cheapest Day Sun |
High Season Apr - Jun |
Low Season Jan - Mar |
Busiest Day Fri |
Least Busy Day Mon |
Best time to book 3 days |
The cheapest and fastest flights from Perugia to Milan
Cheapest price
$221
Average price
$259
Fastest journey
7 h 15 m
Average duration
7 h 42 m
Flights per day
24
Distance
365 km
The best way to find a cheap flight ticket from Perugia to Milan is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Perugia to Milan will cost around $259 if you buy it on the day, but you can find cheap flight tickets today for only $221.
To travel from Perugia to Milan you need to make at least 2 changes.
Regionale Veloce 4731 · Regionale Veloce 4105 · Regionale 20503+
AZ21301:47 PM9h23Perugia station11:10 PMMilan Linate Airport$2211One-way3 changes
Regionale Veloce 4721 · Regionale 20423+
AZ20925:52 AM12h18Perugia station6:10 PMMilan Linate Airport$2221One-way2 changes
Regionale Veloce 4733 · Regionale 20535+
AZ21303:55 PM7h15Perugia station11:10 PMMilan Linate Airport$2221One-way2 changes
Regionale Veloce 4073 · Regionale Veloce 4153 · Regionale 20475+
AZ213010:19 AM12h51Perugia station11:10 PMMilan Linate Airport$2221One-way3 changes
Regionale Veloce 4077 · Regionale Veloce 4155 · Regionale 20517+
AZ21302:27 PM8h43Perugia station11:10 PMMilan Linate Airport$2221One-way3 changes
Regionale Veloce 4733 · Regionale 20535+
AZ21303:55 PM7h15Perugia station11:10 PMMilan Linate Airport$2221One-way2 changes
Regionale Veloce 4733+
Leonardo express 4706+
AZ21303:55 PM7h15Perugia station11:10 PMMilan Linate Airport$2441One-way2 changes
Regionale Veloce 4073 · Regionale Veloce 4153 · Regionale 20475+
AZ209210:19 AM7h51Perugia station6:10 PMMilan Linate Airport$2221One-way3 changes
Regionale Veloce 4073 · Regionale Veloce 4153+
Leonardo express 4624+
AZ209210:19 AM7h51Perugia station6:10 PMMilan Linate Airport$2441One-way3 changes
Regionale 7497 · Regionale Veloce 4519 · Regionale 20453+
AZ20446:52 AM8h18Perugia station3:10 PMMilan Linate Airport$2511One-way3 changes
Travel Information
Compare coach and train for Perugia to Milan
Omio recommends booking the train as it is the most popular option from Perugia to Milan among Omio's users. If you are prioritising price take the coach with prices starting from $14. For those with little time consider booking a train which can get you there in 4h 50m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.1 - 0.3kg. The ticket price range depends on the travel mode: a coach costs an average of $14, and a train costs an average of $36.
Distance: 365 km
Compare train with
Most popular Train | Coach |
|---|---|
$54 Average Price | $43 Average Price Cheapest |
5h 20m Average total duration Fastest 4h 50m Onboard + 30m Additional time* | 6h 2m Average total duration 5h 32m Onboard + 30m Additional time* |
0.1 - 0.3kg CO2 emissions Lowest | 0.4 - 0.9kg CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company |
Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Live departures
Perugia to Milan flight times
The table below shows live departures for Perugia to Milan flights for tomorrow, Tuesday, 5 May. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
FRECCIAROSSA 9300 · FRECCIAROSSA 9503+ Leonardo express 4590+ AZ2044 | 5:24 AM Perugia station | 9h46 | 3:10 PM Milan Linate Airport | 3 changes | |
FRECCIAROSSA 9300 · FRECCIAROSSA 9503+ Leonardo express 4590+ AZ2092 | 5:24 AM Perugia station | 12h46 | 6:10 PM Milan Linate Airport | 3 changes | |
FRECCIAROSSA 9300 · FRECCIAROSSA 9503+ Leonardo express 4590+ AZ2080 | 5:24 AM Perugia station | 11h46 | 5:10 PM Milan Linate Airport | 3 changes | |
Regionale Veloce 4721 · Regionale 20423+ AZ2092 | 5:52 AM Perugia station | 12h18 | 6:10 PM Milan Linate Airport | 2 changes | |
Regionale Veloce 4721 · Regionale 20423+ AZ2044 | 5:52 AM Perugia station | 9h18 | 3:10 PM Milan Linate Airport | 2 changes | |
Regionale Veloce 4721 · Regionale 20423+ AZ2080 | 5:52 AM Perugia station | 11h18 | 5:10 PM Milan Linate Airport | 2 changes | |
Intercity 531+ Regionale 20423+ AZ2044 | 6:40 AM Perugia station | 8h30 | 3:10 PM Milan Linate Airport | 2 changes | |
Intercity 531+ Regionale 20423+ AZ2092 | 6:40 AM Perugia station | 11h30 | 6:10 PM Milan Linate Airport | 2 changes | |
Intercity 531+ Regionale 20423+ AZ2080 | 6:40 AM Perugia station | 10h30 | 5:10 PM Milan Linate Airport | 2 changes | |
Regionale 7497 · Regionale Veloce 4519 · Regionale 20453+ AZ2044 | 6:52 AM Perugia station | 8h18 | 3:10 PM Milan Linate Airport | 3 changes | |
Regionale 7497+ Intercity 533+ Regionale 20439+ AZ2092 | 6:52 AM Perugia station | 11h18 | 6:10 PM Milan Linate Airport | 3 changes | |
Regionale 7497 · Regionale Veloce 4519 · Regionale 20453+ AZ2092 | 6:52 AM Perugia station | 11h18 | 6:10 PM Milan Linate Airport | 3 changes | |
Regionale Veloce 4073 · Regionale Veloce 4153 · Regionale 20475+ AZ2130 | 10:19 AM Perugia station | 12h51 | 11:10 PM Milan Linate Airport | 3 changes | |
Regionale Veloce 4073 · Regionale Veloce 4153+ Leonardo express 4624+ AZ2092 | 10:19 AM Perugia station | 7h51 | 6:10 PM Milan Linate Airport | 3 changes | |
Regionale Veloce 4073 · Regionale Veloce 4153 · Regionale 20475+ AZ2092 | 10:19 AM Perugia station | 7h51 | 6:10 PM Milan Linate Airport | 3 changes | |
Regionale Veloce 4725+ Leonardo express 4634+ AZ2130 | 11:48 AM Perugia station | 11h22 | 11:10 PM Milan Linate Airport | 2 changes | |
Regionale Veloce 4725 · Regionale 20489+ AZ2056 | 11:48 AM Perugia station | 8h22 | 8:10 PM Milan Linate Airport | 2 changes | |
Regionale Veloce 4725 · Regionale 20489+ AZ2130 | 11:48 AM Perugia station | 11h22 | 11:10 PM Milan Linate Airport | 2 changes | |
Regionale Veloce 4731+ Leonardo express 4660+ AZ2130 | 1:47 PM Perugia station | 9h23 | 11:10 PM Milan Linate Airport | 2 changes | |
Regionale Veloce 4731 · Regionale 20527+ AZ2130 | 1:47 PM Perugia station | 9h23 | 11:10 PM Milan Linate Airport | 2 changes | |
Regionale Veloce 4731 · Regionale Veloce 4105 · Regionale 20503+ AZ2130 | 1:47 PM Perugia station | 9h23 | 11:10 PM Milan Linate Airport | 3 changes | |
Regionale Veloce 4077 · Regionale Veloce 4155 · Regionale 20517+ AZ2130 | 2:27 PM Perugia station | 8h43 | 11:10 PM Milan Linate Airport | 3 changes | |
Regionale Veloce 4733 · Regionale 20535+ AZ2130 | 3:55 PM Perugia station | 7h15 | 11:10 PM Milan Linate Airport | 2 changes | |
Regionale Veloce 4733+ Leonardo express 4706+ AZ2130 | 3:55 PM Perugia station | 7h15 | 11:10 PM Milan Linate Airport | 2 changes | |
This is the last flight of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Perugia to Milan by coach or train
Compare coach and train prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
05 May
06 May
07 May
08 May
09 May
10 May
11 May
12 May
13 May
14 May
15 May
16 May
17 May
18 May
19 May
20 May
21 May
22 May
23 May
24 May
25 May
Why should you book Perugia to Milan flights with Omio?
Why book with Omio vs Aeroitalia?
- Designed for International Travelers: Omio is in your language including 24/7 customer service and offers multiple payment options, including PayPal, credit cards, and bank transfer, in your preferred currency.
- Compare all your options: Omio allows you to compare Aeroitalia with all available travel options, which are bus and train to ensure you get the best deal for traveling from Perugia to Milan.
Why book with Omio over Edreams, Skyscanner or Kayak?
- Multiple modes of transport: Omio allows you to compare travel options including bus and train to find the ideal travel option from Perugia to Milan.
Airlines: Aeroitalia from Perugia to MilanFind the best flights between Perugia to Milan with Omio's travel partners Aeroitalia from $14. We can find you the best deals, schedules and tickets when comparing and booking the best trip.
Aeroitalia
FAQs: Perugia to Milan flights
Find answers to the most common questions about traveling from Perugia to Milan by flight. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest flight, the cheapest option, or tips for making the most of your visit at Milan, this guide helps you travel smarter and with confidence.

More options for your journey from Perugia to Milan
Here are some other resources that might have the information you need



