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 $42 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 $42, while a flight costs an average of $826.
Distance: 226 miles (365 km)
Compare train with
Most popular Train | Bus | Flight |
|---|---|---|
$42 Average price Cheapest | $47 Average price | $826 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.
This is compared to other travel options from Milan to Perugia:
A train is $6 (€5) less than a bus for this route with tickets for a bus from Milan to Perugia costing on average $47 (€40).
A train is $785 (€657) less than a flight for this route with tickets for a flight from Milan to Perugia costing on average $826 (€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.
382712:30 AM5h55Milano, San Donato - Settore B (Viale Giuseppe Impastato)6:25 AMPerugia, Via Cortonese (Fontivegge)$241One-way0 transfers
Cheapest
382712:30 AM5h55Milano, San Donato - Settore B (Viale Giuseppe Impastato)6:25 AMPerugia, Via Cortonese (Fontivegge)$241One-way0 transfers
Fastest
9961+
Intercity 5997:40 PM3h37Milan Centrale11:17 PMPerugia station$941One-way1 transfer
Other options
Intercity 5995:40 PM5h37Milan Centrale11:17 PMPerugia station$601One-way0 transfers
Regionale Veloce TTPER 2455+
Intercity 584+
Regionale Veloce 40777:20 AM7h11Milan Centrale2:31 PMPerugia Università$611One-way2 transfers
Regionale Veloce TTPER 2455+
Intercity 584+
Regionale Veloce 40777:20 AM7h17Milan Centrale2:37 PMPerugia station$611One-way2 transfers
FlixBus5:25 PM6h05Milano, San Donato - Settore B (Viale Giuseppe Impastato)11:30 PMPerugia, Piazza Partigiani$281One-way0 transfers
FlixBus11:50 PM6h20Milano, San Donato - Settore B (Viale Giuseppe Impastato)6:10 AMPerugia, Piazza Partigiani$281One-way0 transfers
FlixBus4:40 PM6h50Milano, Autostazione Lampugnano11:30 PMPerugia, Piazza Partigiani$281One-way0 transfers
AZ2059+
Regionale 20725 · Regionale Veloce 4110+
Intercity 5994:00 PM7h17Milan Linate Airport11:17 PMPerugia station$1671One-way3 transfers
AZ2071+
Regionale 20715 · Regionale Veloce 47343:00 PM6h43Milan Linate Airport9:43 PMPerugia station$2011One-way2 transfers
AZ2071+
Regionale 20725 · Regionale Veloce 4110+
Intercity 5993:00 PM8h17Milan Linate Airport11:17 PMPerugia station$2111One-way3 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.
Oct 20
Oct 21
Oct 22
Oct 23
Oct 24
Oct 25
Oct 26
Oct 27
Oct 28
Oct 29
Oct 30
Oct 31
Nov 01
Nov 02
Nov 03
Nov 04
Nov 05
Nov 06
Nov 07
Nov 08
Nov 09
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 $6 (€5) less than a bus for this route with tickets for a bus from Milan to Perugia costing on average $47 (€40).
A train is $785 (€657) less than a flight for this route with tickets for a flight from Milan to Perugia costing on average $826 (€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 Regionale, Intercity, Frecciarossa, Italo, Intercity Notte to go to Perugia by train.
- Travel with FlixBus, Itabus to go to Perugia by bus.
- Travel with British Airways to go to Perugia by flight.
- 1 direct trains per day with Intercity, Frecciarossa.
- 7 direct buses per day with FlixBus, Itabus.
Travelling from Milan to Perugia: related information
Here are some other resources that might have the information you need

