Journey information
Overview: Milan to Perugia flight
Distance 365 km |
Average flight duration 57m |
Flights per day 1 |
Direct flights 1 |
Cheapest month to travel February |
First flight 05:20 |
Last flight 17:45 |
The cheapest and fastest flights from Milan to Perugia
Cheapest price
£132
Average price
£263
Fastest journey
6 h 22 m
Average duration
6 h 36 m
Flights per day
28
Distance
365 km
The best way to find a cheap flight ticket from Milan to Perugia is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Milan to Perugia will cost around £263 if you buy it on the day, but you can find cheap flight tickets today for only £132.
To travel from Milan to Perugia you need to make at least 2 changes.
XZ2020+
Regionale 20659 · Regionale Veloce 4730
XZ2020+
Regionale 20625 · Regionale Veloce 4100 · Regionale Veloce 4077
XZ2020+
Leonardo express 4623+
Regionale Veloce 4730
AZ2013+
Regionale 20659 · Regionale Veloce 4730
AZ2013+
Regionale 20625 · Regionale Veloce 4100 · Regionale Veloce 4077
AZ2059+
Regionale 20721+
Intercity 546
AZ2045+
Regionale 20659 · Regionale Veloce 4730
AZ2045+
Leonardo express 4623+
Regionale Veloce 4730
AZ2071+
Regionale 20695 · Regionale Veloce 4732
AZ2071+
Leonardo express 4647+
Regionale Veloce 4732Travel Information
Compare coach and train for Milan to Perugia
Omio recommends booking the train as it is the most popular option from Milan to Perugia among Omio's users. If you are prioritising price take the coach with prices starting from £16. For those with little time consider booking a train which can get you there in 4h 44m. 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 £16, and a train costs an average of £30.
Distance: 365 km
Compare train with
Most popular Train | Coach |
|---|---|
£43 Average Price | £37 Average Price Cheapest |
5h 14m Average total duration Fastest 4h 44m Onboard + 30m Additional time* | 6h 32m Average total duration 6h 2m 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
Milan to Perugia flight times
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
AZ2013+ Regionale 20659 · Regionale Veloce 4730 | 05:30 Milan Linate Airport | 10h28 | 15:58 Perugia station | 2 changes | |
AZ2013+ Regionale 20625 · Regionale Veloce 4100 · Regionale Veloce 4077 | 05:30 Milan Linate Airport | 7h55 | 13:25 Perugia station | 3 changes | |
AZ2013+ Leonardo express 4623+ Regionale Veloce 4730 | 05:30 Milan Linate Airport | 10h28 | 15:58 Perugia station | 2 changes | |
XZ2020+ Regionale 20625 · Regionale Veloce 4100 · Regionale Veloce 4077 | 06:10 Milan Malpensa Airport | 7h15 | 13:25 Perugia station | 3 changes | |
XZ2020+ Leonardo express 4623+ Regionale Veloce 4730 | 06:10 Milan Malpensa Airport | 9h48 | 15:58 Perugia station | 2 changes | |
XZ2020+ Regionale 20659 · Regionale Veloce 4730 | 06:10 Milan Malpensa Airport | 9h48 | 15:58 Perugia station | 2 changes | |
AZ2021+ Regionale 20659 · Regionale Veloce 4730 | 06:30 Milan Linate Airport | 9h28 | 15:58 Perugia station | 2 changes | |
AZ2021+ Leonardo express 4647+ Regionale Veloce 4732 | 06:30 Milan Linate Airport | 13h20 | 19:50 Perugia station | 2 changes | |
AZ2021+ Leonardo express 4623+ Regionale Veloce 4730 | 06:30 Milan Linate Airport | 9h28 | 15:58 Perugia station | 2 changes | |
AZ2055+ Leonardo express 4623+ Regionale Veloce 4730 | 07:30 Milan Linate Airport | 8h28 | 15:58 Perugia station | 2 changes | |
AZ2055+ Regionale 20695 · Regionale Veloce 4732 | 07:30 Milan Linate Airport | 12h20 | 19:50 Perugia station | 2 changes | |
AZ2055+ Regionale 20659 · Regionale Veloce 4730 | 07:30 Milan Linate Airport | 8h28 | 15:58 Perugia station | 2 changes | |
AZ2029+ Regionale 20695 · Regionale Veloce 4732 | 08:30 Milan Linate Airport | 11h20 | 19:50 Perugia station | 2 changes | |
AZ2029+ Regionale 20659 · Regionale Veloce 4730 | 08:30 Milan Linate Airport | 7h28 | 15:58 Perugia station | 2 changes | |
AZ2029+ Leonardo express 4623+ Regionale Veloce 4730 | 08:30 Milan Linate Airport | 7h28 | 15:58 Perugia station | 2 changes | |
AZ2045+ Leonardo express 4623+ Regionale Veloce 4730 | 09:30 Milan Linate Airport | 6h28 | 15:58 Perugia station | 2 changes | |
AZ2045+ Regionale 20659 · Regionale Veloce 4730 | 09:30 Milan Linate Airport | 6h28 | 15:58 Perugia station | 2 changes | |
AZ2045+ Regionale 20695 · Regionale Veloce 4732 | 09:30 Milan Linate Airport | 10h20 | 19:50 Perugia station | 2 changes | |
AZ2133+ Leonardo express 4647+ Regionale Veloce 4732 | 12:00 Milan Linate Airport | 7h50 | 19:50 Perugia station | 2 changes | |
AZ2133+ Regionale 20695 · Regionale Veloce 4732 | 12:00 Milan Linate Airport | 7h50 | 19:50 Perugia station | 2 changes | |
AZ2133+ Regionale 20715 · Regionale Veloce 4734 | 12:00 Milan Linate Airport | 8h37 | 20:37 Perugia station | 2 changes | |
AZ2071+ Leonardo express 4647+ Regionale Veloce 4732 | 13:00 Milan Linate Airport | 6h50 | 19:50 Perugia station | 2 changes | |
AZ2071+ Regionale 20715 · Regionale Veloce 4734 | 13:00 Milan Linate Airport | 7h37 | 20:37 Perugia station | 2 changes | |
AZ2071+ Regionale 20695 · Regionale Veloce 4732 | 13:00 Milan Linate Airport | 6h50 | 19:50 Perugia station | 2 changes | |
AZ2059+ Regionale 20721+ Intercity 546 | 15:00 Milan Linate Airport | 6h22 | 21:22 Perugia station | 2 changes | |
AZ2059+ Leonardo express 4671+ FRECCIAROSSA 1000 9568+ Intercity 1529 | 15:00 Milan Linate Airport | 7h55 | 22:55 Perugia station | 3 changes | |
AZ2059+ Regionale 20725 · Regionale Veloce 4110+ Intercity 1529 | 15:00 Milan Linate Airport | 7h55 | 22:55 Perugia station | 3 changes | |
AZ2061+ Leonardo express 4671+ FRECCIAROSSA 1000 9568+ Intercity 1529 | 16:00 Milan Linate Airport | 6h55 | 22:55 Perugia station | 3 changes | |
This is the last flight of the day. | |||||
Find all the dates and times for this journey
How far in advance should I book flight tickets from Milan to Perugia?
Compare prices and tickets Milan to Perugia by coach or train
05 Nov
06 Nov
07 Nov
08 Nov
09 Nov
10 Nov
11 Nov
12 Nov
13 Nov
14 Nov
15 Nov
16 Nov
17 Nov
18 Nov
19 Nov
20 Nov
21 Nov
22 Nov
23 Nov
24 Nov
25 Nov
Airlines: Aeroitalia from Milan to PerugiaFind the best flights between Milan to Perugia with Omio's travel partners Aeroitalia from £16. We can find you the best deals, schedules and tickets when comparing and booking the best trip.
Aeroitalia
FAQs: Milan to Perugia flights

Flights from Milan to Perugia generally leave from Milan Bergamo Orio al Serio Airport and arrive in Perugia San Egidio Airport.
Milan Bergamo Orio al Serio Airport is 52.2 km away from Milan city centre and Perugia San Egidio Airport is 15.6 km from Perugia city centre.
Typically, passengers are allowed one carry-on bag and one personal item (for example a purse, laptop bag, or backpack). Personal items must fit under the seat in front of you.
Budget Airlines (like Ryanair or Wizz Air) have stricter size and weight limits, often requiring fees for larger carry-ons. Full-Service Airlines have more lenient policies, sometimes including more spacious dimensions or higher weight limits depending on your ticket class.
popular airports
Important Stations and Airports in Milan and Perugia
- Free Wi-Fi available throughout the airport.
- Shops available, including duty-free and fashion stores, located in the departures area.
- Parking available near the terminal, approximately 3€ per hour.
- Available outside the terminal.
- Elevators, ramps.
- Available throughout the airport.
- Yes
- Lounge available, with access for a fee or membership.
- Located in the arrivals area.
- Bus: Line 1, Line 5
- Train: NA
- Metro: NA
- Free Wi-Fi available throughout the airport.
- Shops available, including Duty-Free and WHSmith, located in the departures area.
- Parking available in P1, P2, and P3 lots, approximately 2.5€ per hour.
- Available outside the terminal.
- Ramps, assistance.
- Available throughout the airport.
- Yes
- Lounge available, Sala Leonardo Lounge, access with membership or fee.
- Located in the arrivals area, near baggage claim.
- Bus 73
- Bus X73
- Free Wi-Fi available throughout the airport.
- A few shops available, including a duty-free shop.
- Parking available near the terminal, approximately 2€ per hour.
- Available outside the terminal.
- Ramps, toilets.
- Available throughout the airport.
- Located in the main terminal.
- Bus: E007, E422
More options for your journey from Milan to Perugia
Here are some other resources that might have the information you need


