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 bus with prices starting from $13. For those with little time consider booking a train which can get you there in 4h 49m. 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 $13, and a train costs an average of $33.
Distance: 226 miles (365 km)
Compare train with
Most popular Train | Bus | Driving |
|---|---|---|
$53 Average price | $35 Average price Cheapest | $130 Average price (fuel + tolls) |
5h 19m Average total duration Fastest 4h 49m Onboard + 30m Additional time* | 5h 59m Average total duration 5h 29m Onboard + 30m Additional time* | 5h 38m Average total duration (door-to-door) |
0.1 - 0.3kg CO2 emissions Lowest | 0.4 - 0.9kg CO2 emissions | - CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company | Your own car or car rental |
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 Perugia to Milan:
A bus is $18 (€15) less than a train for this route with tickets for a train from Perugia to Milan costing on average $53 (€44).
Other travel options to Milan take longer:
Train takes on average 4h 49m.
Bus takes on average 5h 29m.
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.
1120 · 24004:00 PM7h05Perugia, Via Cortonese (Fontivegge)11:05 PMMilano, San Donato - Settore B (Viale Giuseppe Impastato)$281One-way1 transfer
Cheapest
1120 · 24004:00 PM7h05Perugia, Via Cortonese (Fontivegge)11:05 PMMilano, San Donato - Settore B (Viale Giuseppe Impastato)$281One-way1 transfer
Fastest
FRECCIAROSSA 9300+
99045:24 AM3h45Perugia station9:09 AMMilan Rogoredo$1101One-way1 transfer
Other options
Regionale Veloce 4076 · Regionale 18522 · Regionale 22961:44 PM9h38Perugia Università11:22 PMMilan Centrale$521One-way2 transfers
Regionale Veloce 4076 · Regionale 18522 · Regionale 22961:41 PM9h41Perugia station11:22 PMMilan Centrale$521One-way2 transfers
Regionale Veloce 4082+
Intercity 5965:47 PM5h30Perugia Università11:17 PMMilan Centrale$641One-way1 transfer
FlixBus11:25 AM7h55Perugia, Piazza Partigiani7:20 PMMilano, Autostazione Lampugnano$371One-way0 transfers
38261:10 AM5h55Perugia, Via Cortonese (Fontivegge)7:05 AMMilano, San Donato - Settore B (Viale Giuseppe Impastato)$371One-way0 transfers
38261:10 AM6h40Perugia, Via Cortonese (Fontivegge)7:50 AMMilano, Autostazione Lampugnano$371One-way0 transfers
Regionale Veloce 4731 · Regionale Veloce 4105 · Regionale 20503+
AZ21301:47 PM9h23Perugia station11:10 PMMilan Linate Airport$1631One-way3 transfers
Regionale Veloce 4733 · Regionale 20535+
AZ21303:55 PM7h15Perugia station11:10 PMMilan Linate Airport$1651One-way2 transfers
Regionale Veloce 4077 · Regionale Veloce 4155 · Regionale 20517+
AZ21302:27 PM8h43Perugia station11:10 PMMilan Linate Airport$1651One-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.
Jun 19
Jun 20
Jun 21
Jun 22
Jun 23
Jun 24
Jun 25
Jun 26
Jun 27
Jun 28
Jun 29
Jun 30
Jul 01
Jul 02
Jul 03
Jul 04
Jul 05
Jul 06
Jul 07
Jul 08
Jul 09
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 bus is $18 (€15) less than a train for this route with tickets for a train from Perugia to Milan costing on average $53 (€44).
Other travel options to Milan take longer:
Train takes on average 4h 49m.
Bus takes on average 5h 29m.
- Around 38 trains per day.
- Around 17 buses 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.
- 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 Aeroitalia to go to Milan by flight.
- Travel with FlixBus, Itabus, BlaBlaCar to go to Milan by bus.
- Travel with Intercity, Regionale, Frecciarossa, Italo, Intercity Notte to go to Milan by train.
- 0 direct flights per day with Aeroitalia.
- 6 direct buses per day with FlixBus, Itabus, BlaBlaCar.
- 1 direct trains per day with Intercity, Frecciarossa.
Travelling from Perugia to Milan: related information
Here are some other resources that might have the information you need
