Travel Information
Compare train and bus 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 train, with an average ticket price of €35 For those with little time, consider booking a train, which has an average total journey time of 4h 57m. If you are seeking to minimise your carbon footprint, the train is your best option, with estimated CO2 emissions of 0.1 - 0.3kg. Average ticket prices depend on the travel mode: a train costs an average of €35, while a flight costs an average of €691.
Distance: 365 km
Compare train with
Most popular Train | Bus | Flight |
|---|---|---|
€35 Average price Cheapest | €40 Average price | €691 Average price |
4h 57m Average total duration Fastest 4h 27m Onboard + 30m Additional time* | 6h 55m Average total duration 6h 25m Onboard + 30m Additional time* | 6h 45m Average total duration 4h 45m Onboard + 2h 0m Additional time* |
0.1 - 0.3kg CO2 emissions Lowest | 0.4 - 0.9kg CO2 emissions | 1.1 - 2.2kg CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company | ![]() Most popular airline |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Compare ways to travel from Milan to Perugia
Compare the available ways to get from Milan to Perugia, with the key details around price, speed, convenience, and direct service.
This is compared to other travel options from Milan to Perugia:
A train is €5 less than a bus for this route with tickets for a bus from Milan to Perugia costing on average €40.
A train is €657 less than a flight for this route with tickets for a flight from Milan to Perugia costing on average €691.
Other travel options to Perugia take longer:
Flight takes on average 6h 45m.
Bus takes on average 6h 55m.
Travel optionsfrom Milan to Perugia
How to get from Milan to Perugia by train, bus or flight.
Our recommendation
The best way to travel from Milan to Perugia is by taking a bus because it’s the best combination of price and speed.
241110:00 AM 6h00 Milano, San Donato - Settore B (Viale Giuseppe Impastato) 4:00 PM Perugia, Via Cortonese (Fontivegge) €18 1 One-way 0 transfers
Cheapest
241110:00 AM 6h00 Milano, San Donato - Settore B (Viale Giuseppe Impastato) 4:00 PM Perugia, Via Cortonese (Fontivegge) €18 1 One-way 0 transfers
Fastest
9961+
5997:40 PM 3h37 Milan Centrale 11:17 PM Perugia station €71 1 One-way 1 transfer
Other options
5995:40 PM 5h37 Milan Centrale 11:17 PM Perugia station €50 1 One-way 0 transfers
2455+
584+
40777:20 AM 7h11 Milan Centrale 2:31 PM Perugia Università €51 1 One-way 2 transfers
2455+
584+
40777:20 AM 7h17 Milan Centrale 2:37 PM Perugia station €51 1 One-way 2 transfers
24119:10 AM 6h50 Milano, Autostazione Lampugnano 4:00 PM Perugia, Via Cortonese (Fontivegge) €18 1 One-way 0 transfers
FlixBus · FlixBus11:25 AM 7h50 Milano, Autostazione Lampugnano 7:15 PM Perugia, Piazza Partigiani €19 1 One-way 1 transfer
FlixBus · FlixBus12:30 PM 6h40 Milano, San Donato - Settore B (Viale Giuseppe Impastato) 7:10 PM Perugia, Piazza Partigiani €20 1 One-way 1 transfer
AZ2071+
Regionale 83105 · Regionale 4511 · Regionale Veloce 47343:00 PM 6h43 Milan Linate Airport 9:43 PM Perugia station €89 1 One-way 3 transfers
AZ2029+
83075 · 12543 · 47309:30 AM 7h28 Milan Linate Airport 4:58 PM Perugia station €103 1 One-way 3 transfers
AZ2133+
Regionale 83105 · Regionale 4511 · Regionale Veloce 47341:00 PM 8h43 Milan Linate Airport 9:43 PM Perugia station €103 1 One-way 3 transfers
Find all the dates and times for this journey by train, bus, flight, and ferry .
Compare prices and tickets Prices for trains, buses and flights
Compare train and bus 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.
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Milan to Perugia
Travel to Perugia easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from Milan to Perugia.

This is compared to other travel options from Milan to Perugia:
A train is €5 less than a bus for this route with tickets for a bus from Milan to Perugia costing on average €40.
A train is €657 less than a flight for this route with tickets for a flight from Milan to Perugia costing on average €691.
Other travel options to Perugia take longer:
Flight takes on average 6h 45m.
Bus takes on average 6h 55m.
- Around 47 trains per day.
- Around 11 buses per day.
- Around 3 flights per day.
However, we recommend checking specific travel dates for your route between Milan and Perugia as scheduled services by train and bus can vary by season or day of the week.
- Flights mostly depart from Milan Linate Airport and arrive in Perugia San Egidio Airport.
- Trains mostly depart from Milan Centrale and arrive in Perugia station.
- Buses mostly depart from Milano, Autostazione Lampugnano and arrive in Perugia, Piazza Partigiani.
- Travel with British Airways to go to Perugia by flight.
- Travel with FlixBus, Itabus to go to Perugia by bus.
- Travel with Regionale, Italo, Intercity, Frecciarossa, Intercity Notte to go to Perugia by train.
- 7 direct buses per day with FlixBus, Itabus.
- 1 direct trains per day with Intercity, Frecciarossa.
Travelling from Milan to Perugia: related information
Here are some other resources that might have the information you need

