Travel Information
Compare bus and train 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 $14. For those with little time consider booking a train which can get you there in 4h 50m. 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 $14, and a train costs an average of $36.
Distance: 226 miles (365 km)
Compare train with
Most popular Train | Bus |
|---|---|
$54 Average price | $43 Average price Cheapest |
5h 20m Average total duration Fastest 4h 50m Onboard + 30m Additional time* | 6h 2m Average total duration 5h 32m 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 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.
FlixBus · FlixBus10:15 AM7h40Perugia, Viale Giovanni Perari (Parcheggio)5:55 PMMilano, Autostazione Lampugnano$521One-way1 transfer
Cheapest
38261:10 AM5h55Perugia, Via Cortonese (Fontivegge)7:05 AMMilano, San Donato - Settore B (Viale Giuseppe Impastato)$441One-way0 transfers
Fastest
FRECCIAROSSA 93005:24 AM3h48Perugia station9:12 AMMilan Porta Garibaldi$3221One-way0 transfers
Other options
Intercity 5806:37 AM5h38Perugia station12:15 PMMilan Centrale$741One-way0 transfers
Regionale 7508+
Intercity 59012:31 PM6h54Perugia Università7:25 PMMilan Centrale$771One-way1 transfer
Regionale 7508+
Intercity 59012:27 PM6h58Perugia station7:25 PMMilan Centrale$771One-way1 transfer
FlixBus2:05 AM7h10Perugia, Piazza Partigiani9:15 AMMilano, Autostazione Lampugnano$521One-way0 transfers
38261:10 AM6h40Perugia, Via Cortonese (Fontivegge)7:50 AMMilano, Autostazione Lampugnano$441One-way0 transfers
FlixBus2:05 AM6h25Perugia, Piazza Partigiani8:30 AMMilano, San Donato - Settore B (Viale Giuseppe Impastato)$521One-way0 transfers
Regionale Veloce 4073 · Regionale Veloce 4153 · Regionale 20475+
AZ209210:19 AM7h51Perugia station6:10 PMMilan Linate Airport$2231One-way3 transfers
Regionale Veloce 4733 · Regionale 20535+
AZ21303:55 PM7h15Perugia station11:10 PMMilan Linate Airport$2231One-way2 transfers
Regionale Veloce 4731 · Regionale Veloce 4105 · Regionale 20503+
AZ21301:47 PM9h23Perugia station11:10 PMMilan Linate Airport$2211One-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 bus and train 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 05
May 06
May 07
May 08
May 09
May 10
May 11
May 12
May 13
May 14
May 15
May 16
May 17
May 18
May 19
May 20
May 21
May 22
May 23
May 24
May 25
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 $22 (€18) less than a train for this route with tickets for a train from Perugia to Milan costing on average $36 (€29).
Other travel options to Milan take longer:
Bus takes on average 4h 30m.
- Around 37 trains per day.
- Around 17 buses per day.
- Around 1 flights per day.
However, we recommend checking specific travel dates for your route between Perugia and Milan as scheduled services by bus and train can vary by season or day of the week.
- Flights mostly depart from Perugia San Egidio Airport and arrive in Milan Bergamo Orio al Serio 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 FlixBus, BlaBlaCar, Itabus to go to Milan by bus.
- Travel with Intercity, Regionale, Frecciarossa, Italo, Intercity Notte to go to Milan by train.
- Travel with Aeroitalia to go to Milan by flight.
- 6 direct buses per day with FlixBus, BlaBlaCar.
- 1 direct trains per day with Intercity, Frecciarossa.
- 1 direct flights per day with Aeroitalia.
Travelling from Perugia to Milan: related information
Here are some other resources that might have the information you need
