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 bus with prices starting from €20. For those with little time consider booking a train which can get you there in 5h 2m. 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 bus costs an average of €20, and a train costs an average of €20.
Distance: 365 km
Compare train with
Most popular Train | Bus |
|---|---|
€46 Average price | €35 Average price Cheapest |
5h 32m Average total duration Fastest 5h 2m Onboard + 30m Additional time* | 6h 4m Average total duration 5h 34m 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.
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.
382511:45 PM6h40Milano, Autostazione Lampugnano6:25 AMPerugia, Via Cortonese (Fontivegge)€251One-way0 transfers
Cheapest
382511:45 PM6h40Milano, Autostazione Lampugnano6:25 AMPerugia, Via Cortonese (Fontivegge)€251One-way0 transfers
Fastest
9961+
Intercity 5997:40 PM3h37Milan Centrale11:17 PMPerugia station€781One-way1 transfer
Other options
Intercity 5995:40 PM5h37Milan Centrale11:17 PMPerugia station€501One-way0 transfers
Intercity 669+
Regionale Veloce 4052 · Regionale Veloce 40872:05 PM8h14Milan Centrale10:19 PMPerugia station€581One-way2 transfers
Intercity 597 · Intercity 594+
Regionale Veloce 40851:48 PM6h33Milan Centrale8:21 PMPerugia station€611One-way2 transfers
FlixBus8:00 AM5h45Milano, San Donato - Settore B (Viale Giuseppe Impastato)1:45 PMPerugia, Piazza Partigiani€351One-way0 transfers
FlixBus5:25 PM6h05Milano, San Donato - Settore B (Viale Giuseppe Impastato)11:30 PMPerugia, Piazza Partigiani€351One-way0 transfers
FlixBus11:50 PM6h20Milano, San Donato - Settore B (Viale Giuseppe Impastato)6:10 AMPerugia, Piazza Partigiani€351One-way0 transfers
AZ2021+
Regionale 83075 · Regionale 12543 · Regionale Veloce 47308:00 AM8h58Milan Linate Airport4:58 PMPerugia station€1901One-way3 transfers
AZ2045+
Regionale 83105 · Regionale 4511 · Regionale Veloce 473411:30 AM10h07Milan Linate Airport9:37 PMPerugia station€1901One-way3 transfers
AZ2021+
Regionale Veloce 4730+
Leonardo express 46238:00 AM8h58Milan Linate Airport4:58 PMPerugia station€2051One-way2 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.
May 16
May 17
May 18
May 19
May 20
May 21
May 22
May 23
May 24
May 25
May 26
May 27
May 28
May 29
May 30
May 31
Jun 01
Jun 02
Jun 03
Jun 04
Jun 05
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 bus is €11 less than a train for this route with tickets for a train from Milan to Perugia costing on average €46.
Other travel options to Perugia take longer:
Train takes on average 5h 2m.
Bus takes on average 5h 34m.
- Around 30 trains per day.
- Around 13 buses 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.
- 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 FlixBus, Itabus, BlaBlaCar to go to Perugia by bus.
- Travel with Regionale, Intercity, Frecciarossa, Intercity Notte, Italo to go to Perugia by train.
- Travel with Aeroitalia to go to Perugia by flight.
- 6 direct buses per day with FlixBus, Itabus, BlaBlaCar.
- 2 direct trains per day with Intercity, Frecciarossa.
- 0 direct flights per day with Aeroitalia.
Travelling from Milan to Perugia: related information
Here are some other resources that might have the information you need
