Cheapest price
$30
Average price
$64
Fastest journey
4 h 20 m
Average duration
4 h 32 m
Buses per day
24
Distance
365 km
The best way to find a cheap bus ticket from Perugia to Milan is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Perugia to Milan will cost around $64 if you buy it on the day, but the cheapest tickets can be found for only $30.
Of the 24 buses that leave Perugia for Milan on Sun, May 18, 8 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Sun, May 18 the direct buses cover the 365 km distance in an average of 4 h 32 m but if you time it right, some buses will get you there in just 4 h 20 m .
On Sun, May 18 the slowest buses will take 5 h and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.
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 flight which can get you there in 1h 0m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.1 - 0.3kg.
Bus | Most popular Train | Flight |
---|---|---|
€29 Average price Cheapest | €44 Average price | €72 Average price |
8h 48m Average duration 8h 18m Onboard + 30m Additional time* | 10h 36m Average duration 10h 6m Onboard + 30m Additional time* | 4h 0m Average duration Fastest 1h 0m Onboard + 3h 0m Additional time* |
0.4 - 0.9kg CO2 emissions | 0.1 - 0.3kg CO2 emissions Lowest | 1.1 - 2.2kg CO2 emissions |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Provider | Departs | Duration | Arrives | Transfers | Tickets |
---|---|---|---|---|---|
![]() | 7:50 AM Perugia, Piazza Partigiani | 8h05 | 3:55 PM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 8:35 AM Perugia | 7h55 | 4:30 PM Milan | 1 transfer | |
![]() | 8:35 AM Perugia | 8h00 | 4:35 PM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 9:40 AM Perugia, Piazza Partigiani | 6h50 | 4:30 PM Milan | 1 transfer | |
![]() | 9:40 AM Perugia, Piazza Partigiani | 7h30 | 5:10 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
![]() ![]() ![]() | On time 12:15 PM Perugia Capitini | 5h35 | 5:50 PM Milan Centrale | 2 transfers | |
![]() ![]() ![]() | On time 12:18 PM Perugia Università | 5h32 | 5:50 PM Milan Centrale | 2 transfers | |
![]() ![]() | On time 1:20 PM Perugia station | 4h30 | 5:50 PM Milan Centrale | 1 transfer | |
![]() | 3:15 PM Perugia, Piazza Partigiani | 5h45 | 9:00 PM Milan | 0 transfersDirect | |
![]() | 3:15 PM Perugia, Piazza Partigiani | 6h20 | 9:35 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
![]() | 7:00 PM Perugia, Piazza Partigiani | 8h15 | 3:15 AM Milan | 1 transfer | |
![]() | 7:00 PM Perugia, Piazza Partigiani | 7h00 | 2:00 AM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 7:00 PM Perugia, Piazza Partigiani | 14h55 | 9:55 AM Linate, Aeroporto di Milano-Linate | 1 transfer | |
![]() | 11:10 PM Perugia | 14h00 | 1:10 PM Milan | 1 transfer | |
![]() | 11:10 PM Perugia | 13h35 | 12:45 PM Milan | 1 transfer | |
![]() | 11:25 PM Perugia | 13h20 | 12:45 PM Milan | 1 transfer | |
![]() | 11:25 PM Perugia | 13h45 | 1:10 PM Milan | 1 transfer | |
Sunday, May 18 | |||||
![]() | 12:05 AM Perugia, Piazza Partigiani | 6h25 | 6:30 AM Milan | 0 transfersDirect | |
![]() | 12:05 AM Perugia, Piazza Partigiani | 7h10 | 7:15 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
![]() | 6:10 AM Perugia, Piazza Partigiani | 6h25 | 12:35 PM Milan | 1 transfer | |
![]() | 6:10 AM Perugia, Piazza Partigiani | 7h10 | 1:20 PM Milano, Autostazione Lampugnano | 1 transfer | |
![]() | 6:10 AM Perugia, Piazza Partigiani | 12h45 | 6:55 PM Linate, Aeroporto di Milano-Linate | 1 transfer | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Distance 226 miles (364 km) |
Average bus duration 8h 18m |
Cheapest ticket price $15 (€13) |
Buses per day 11 |
Direct buses 4 |
Bus providers 2 |
Fastest bus 4h 30m |
First bus 01:05 |
Last bus 20:05 |
Travel from Perugia to Milan from $17 (€14) with Omio’s bus partners FlixBus, BlaBlaCar and Trenitalia! You can find the best schedules and tickets when comparing and booking the most convenient route for you.
FlixBus is one of the most popular low-cost bus companies in Europe. Founded in Germany, FlixBus has expanded its services throughout Europe and even to the United States, giving travelers in both continents the option to take a long-distance bus at an affordable price. FlixBus also operates overnight buses on select routes throughout Europe. FlixBus offers only the Standard ticket for all its routes, which allows you to bring one carry-on bag and one checked bag per person. Additional fees apply for bringing extra luggage and making specific seat reservations, such as if you want to book an Extra Seat, Table Seat or the Panorama Seat. Standard amenities onboard include free Wi-Fi, power outlets to charge your phone, tablet or laptop during long bus journeys, extra legroom, luggage space and toilets.
FlixBus from Perugia to Milan bus information:
Passengers board the bus most frequently from Perugia, Piazza Partigiani, which is located around 1.7 miles (2.7 km) away from the city centre, and they get off the bus at Orio al Serio, Milan Bergamo Airport (Bus station), located 28.2 miles (45.5 km) away from the city centre.
To find the cheapest bus tickets for your trip from Perugia to Milan, follow these tips:
Start your search now and compare ticket prices to find the best deal!
Here are some other resources that might have the information you need