Travel Information
Compare train and bus 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 train, with an average ticket price of $46 For those with little time, consider booking a train, which has an average total journey time of 5h 10m. 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 $46, while a flight costs an average of $657.
Distance: 226 miles (365 km)
Compare train with
Most popular Train | Bus | Flight | Driving |
|---|---|---|---|
$46 Average price Cheapest | $47 Average price | $657 Average price | $129 Average price (fuel + tolls) |
5h 10m Average total duration Fastest 4h 40m Onboard + 30m Additional time* | 7h 22m Average total duration 6h 52m Onboard + 30m Additional time* | 6h 17m Average total duration 4h 17m Onboard + 2h 0m Additional time* | 5h 38m Average total duration (door-to-door) |
0.1 - 0.3kg CO2 emissions Lowest | 0.4 - 0.9kg CO2 emissions | 1.1 - 2.2kg CO2 emissions | - CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company | ![]() Most popular airline | Your own car or car rental |
Direct Options | Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Compare ways to travel from Perugia to Milan
Compare the available ways to get from Perugia to Milan, with the key details around price, speed, convenience, and direct service.
This is compared to other travel options from Perugia to Milan:
A train is $2 (€2) less than a bus for this route with tickets for a bus from Perugia to Milan costing on average $47 (€40).
A train is $612 (€513) less than a flight for this route with tickets for a flight from Perugia to Milan costing on average $657 (€551).
Other travel options to Milan take longer:
Flight takes on average 6h 17m.
Bus takes on average 7h 22m.
The journey is about 58m faster (4h 40m by train vs 5h 38m by car) and roughly $84 (€70) cheaper once you factor in fuel and tolls ($46 (€39) vs $129 (€108)). You'll also arrive in the city centre rather than hunting for parking, and you can work, read, or watch the landscape go by instead of concentrating on the road.
Driving is still worth considering if you want to stop along the way or need a car once you arrive.
Travel optionsfrom Perugia to Milan
How to get from Perugia to Milan by train, bus or flight.
Our recommendation
The best way to travel from Perugia to Milan is by taking a bus because it’s the best combination of price and speed.
24143:30 PM 5h55 Perugia, Via Cortonese (Fontivegge) 9:25 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) $22 1 One-way 0 transfers
Cheapest
24143:30 PM 5h55 Perugia, Via Cortonese (Fontivegge) 9:25 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) $22 1 One-way 0 transfers
Fastest
FRECCIAROSSA 93005:24 AM 3h48 Perugia station 9:12 AM Milan Porta Garibaldi $263 1 One-way 0 transfers
Other options
Regionale Veloce 32866 · Regionale 94457 · Regionale Veloce TTPER 39249:51 AM 11h24 Perugia Università 9:15 PM Milan Porta Garibaldi $52 1 One-way 2 transfers
Regionale Veloce 32866 · Regionale 94457 · Regionale Veloce TTPER 39249:47 AM 11h28 Perugia station 9:15 PM Milan Porta Garibaldi $52 1 One-way 2 transfers
Regionale Veloce 93638 · Regionale 18522 · Regionale 22961:35 PM 9h47 Perugia Università 11:22 PM Milan Centrale $52 1 One-way 2 transfers
24143:30 PM 6h40 Perugia, Via Cortonese (Fontivegge) 10:10 PM Milano, Autostazione Lampugnano $22 1 One-way 0 transfers
FlixBus5:15 PM 5h45 Perugia, Piazza Partigiani 11:00 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) $27 1 One-way 0 transfers
FlixBus5:15 PM 6h20 Perugia, Piazza Partigiani 11:35 PM Milano, Autostazione Lampugnano $27 1 One-way 0 transfers
Regionale 7497 · Regionale Veloce 4519 · Regionale 20453+
AZ20446:52 AM 8h18 Perugia station 3:10 PM Milan Linate Airport $106 1 One-way 3 transfers
Regionale Veloce 93621 · Regionale 20423+
AZ20425:47 AM 8h23 Perugia station 2:10 PM Milan Linate Airport $106 1 One-way 2 transfers
Regionale 7497 · Regionale Veloce 4519 · Regionale 20453+
AZ20386:52 AM 8h48 Perugia station 3:40 PM Milan Linate Airport $106 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 Perugia to Milan
Travel to Milan 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 Perugia to Milan.

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

