- Must visit
Pinacoteca di Brera
One of Italy’s leading art museums, known for masterpieces by Raphael, Caravaggio, and Mantegna in the elegant Brera district.
Cheapest price
$56
Average price
$69
Fastest journey
5 h 45 m
Average duration
6 h 20 m
Buses per day
12
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 $69 if you buy it on the day, but the cheapest tickets can be found for only $56.
Of the 12 buses that leave Perugia for Milan on Fri, May 29, 4 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Fri, May 29 the direct buses cover the 365 km distance in an average of 6 h 20 m but if you time it right, some buses will get you there in just 5 h 45 m .
On Fri, May 29 the slowest buses will take 7 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.
3826
3826
FlixBus · FlixBus
FlixBus
FlixBus
FlixBus
3826
FlixBus
3826
FlixBus · FlixBusOmio 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 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 $14, and a train costs an average of $34.
Distance: 226 miles (365 km)
| Bus | Most popular Train | Driving |
|---|---|---|
$36 Average price Cheapest | $54 Average price | $132 Average price (fuel + tolls) |
5h 59m Average total duration 5h 29m Onboard + 30m Additional time* | 5h 19m Average total duration Fastest 4h 49m Onboard + 30m Additional time* | 5h 38m Average total duration (door-to-door) |
0.4 - 0.9kg CO2 emissions | 0.1 - 0.3kg CO2 emissions Lowest | - CO2 emissions |
![]() Most popular bus company | ![]() Most popular train 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 $54 (€44).
Other travel options to Milan take longer:
Train takes on average 4h 49m.
Bus takes on average 5h 29m.
You'll arrive about 9m sooner (5h 29m by bus vs 5h 38m by car) and save roughly $96 (€77) compared to fuel and tolls ($36 (€29) vs $132 (€107)). You also skip the drive itself — no traffic stress, no parking, and you can use the time to work, nap, or catch up on a series with the onboard Wi-Fi.
Direct coaches are operated by FlixBus, Itabus, BlaBlaCar.
Driving is still worth considering if you're travelling with bulky luggage, need flexibility on departure times, or plan to stop along the way.
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator Itabus | Departure Time 01:10AM | Arrival Time 07:50AM | Duration 6h40 | Departure days Everyday | Cheapest price $21 |
Operator FlixBus | Departure Time 02:05AM | Arrival Time 09:15AM | Duration 7h10 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $45 |
Operator FlixBus | Departure Time 06:50AM | Arrival Time 01:25PM | Duration 6h35 | Departure days Mon, Wed, Thu, Sat, Sun | Cheapest price $43 |
Operator FlixBus | Departure Time 07:00AM | Arrival Time 02:35PM | Duration 7h35 | Departure days Fri | Cheapest price $68 |
Operator FlixBus | Departure Time 07:55AM | Arrival Time 02:35PM | Duration 6h40 | Departure days Tue, Wed, Thu, Sun | Cheapest price $58 |
Operator BlaBlaCar | Departure Time 08:30AM | Arrival Time 01:00PM | Duration 4h30 | Departure days Sat | Cheapest price $41 |
Operator BlaBlaCar | Departure Time 09:00AM | Arrival Time 01:20PM | Duration 4h20 | Departure days Sat | Cheapest price $41 |
Operator BlaBlaCar | Departure Time 09:40AM | Arrival Time 05:40PM | Duration 8h00 | Departure days Sat | Cheapest price $40 |
Operator FlixBus | Departure Time 09:55AM | Arrival Time 05:55PM | Duration 8h00 | Departure days Wed, Thu, Sat, Sun | Cheapest price $50 |
Operator FlixBus | Departure Time 10:15AM | Arrival Time 06:30PM | Duration 8h15 | Departure days Everyday | Cheapest price $49 |
Operator BlaBlaCar | Departure Time 11:00AM | Arrival Time 05:00PM | Duration 6h00 | Departure days Sat | Cheapest price $33 |
Operator FlixBus | Departure Time 11:25AM | Arrival Time 07:20PM | Duration 7h55 | Departure days Mon, Thu, Sat, Sun | Cheapest price $34 |
Operator BlaBlaCar | Departure Time 11:30AM | Arrival Time 04:50PM | Duration 5h20 | Departure days Mon | Cheapest price $46 |
Operator BlaBlaCar | Departure Time 01:30PM | Arrival Time 06:30PM | Duration 5h00 | Departure days Tue | Cheapest price $43 |
Operator Frecciarossa | Departure Time 02:15PM | Arrival Time 07:50PM | Duration 5h35 | Departure days Mon, Wed, Thu, Sat | Cheapest price $82 |
Operator Frecciarossa | Departure Time 02:18PM | Arrival Time 07:50PM | Duration 5h32 | Departure days Mon, Wed, Thu, Sat | Cheapest price $82 |
Operator Frecciarossa | Departure Time 03:20PM | Arrival Time 07:50PM | Duration 4h30 | Departure days Mon, Wed, Thu, Sat | Cheapest price $80 |
Operator BlaBlaCar | Departure Time 03:40PM | Arrival Time 11:00PM | Duration 7h20 | Departure days Mon | Cheapest price $62 |
Operator BlaBlaCar | Departure Time 04:00PM | Arrival Time 09:00PM | Duration 5h00 | Departure days Sat | Cheapest price $48 |
Operator Itabus | Departure Time 04:00PM | Arrival Time 11:05PM | Duration 7h05 | Departure days Tue, Thu, Fri, Sat, Sun | Cheapest price $19 |
Operator FlixBus | Departure Time 05:15PM | Arrival Time 11:00PM | Duration 5h45 | Departure days Mon, Thu, Fri, Sat, Sun | Cheapest price $46 |
Operator BlaBlaCar | Departure Time 05:30PM | Arrival Time 11:00PM | Duration 5h30 | Departure days Wed | Cheapest price $46 |
Operator BlaBlaCar | Departure Time 05:50PM | Arrival Time 10:20PM | Duration 4h30 | Departure days Wed | Cheapest price $42 |
Operator BlaBlaCar | Departure Time 06:30PM | Arrival Time 12:10AM | Duration 5h40 | Departure days Mon, Wed | Cheapest price $37 |
Operator BlaBlaCar | Departure Time 07:00PM | Arrival Time 11:20PM | Duration 4h20 | Departure days Tue, Wed | Cheapest price $40 |
Operator FlixBus | Departure Time 09:00PM | Arrival Time 05:15AM | Duration 8h15 | Departure days Everyday | Cheapest price $49 |
The table below shows live departures for Perugia to Milan buses for tomorrow, Friday, May 29. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
FlixBus · FlixBus | 7:00 AM Perugia, Piazza Partigiani | 7h35 | 2:35 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
FlixBus · FlixBus | 7:00 AM Perugia, Piazza Partigiani | 8h20 | 3:20 PM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus · FlixBus | 10:15 AM Perugia, Viale Giovanni Perari (Parcheggio) | 8h15 | 6:30 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
FlixBus · FlixBus | 10:15 AM Perugia, Viale Giovanni Perari (Parcheggio) | 7h40 | 5:55 PM Milano, Autostazione Lampugnano | 1 transfer | |
1120 · 2400 | 4:00 PM Perugia, Via Cortonese (Fontivegge) | 7h05 | 11:05 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
FlixBus | 5:15 PM Perugia, Piazza Partigiani | 5h45 | 11:00 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 5:15 PM Perugia, Piazza Partigiani | 6h20 | 11:35 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus | 9:00 PM Perugia, Piazza Partigiani | 8h15 | 5:15 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
FlixBus · FlixBus | 9:00 PM Perugia, Piazza Partigiani | 7h00 | 4:00 AM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus · FlixBus | 9:00 PM Perugia, Piazza Partigiani | 14h55 | 11:55 AM Milano, Milan Linate Airport | 1 transfer | |
Find all the dates and times for this journey
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.
Buses from Perugia to Milan run on average 17 times per day, taking around 5h 29m. Cheap bus tickets for this journey start at $14 (€11) if you book in advance.
There are 6 buses per day. The earliest bus runs at 00:30, the last at 23:50. The fastest bus covers the 226 miles (365 km) distance in 4h 30m.
Distance 226 miles (365 km) |
Average bus duration 5h 29m |
Cheapest ticket price $14 (€11) |
Buses per day 17 |
Direct buses 6 |
Fastest bus 4h 30m |
First bus 12:30 AM |
Last bus 11:50 PM |
Cheapest Month Feb |
Cheapest Day Wed |
High Season Apr - Jun |
Low Season Jan - Mar |
Busiest Day Fri |
Least Busy Day Mon |
Best time to book 4 days |
Discover the best of Milan — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Milan trip today.
One of Italy’s leading art museums, known for masterpieces by Raphael, Caravaggio, and Mantegna in the elegant Brera district.
A major museum of 20th-century Italian art facing Piazza del Duomo, with strong Futurist holdings and striking city views.
A contemporary museum focused on world cultures and major temporary exhibitions, popular for its modern architecture and changing shows.
Milan’s canal district, best known for waterside walks, photogenic bridges, and lively atmosphere day and night.
A charming historic neighborhood of narrow streets, galleries, boutiques, and classic Milan character, ideal for wandering.
Milan’s main square and the symbolic heart of the city, surrounded by major landmarks and constant urban energy.
Creamy saffron risotto, one of Milan's signature dishes, prized for its rich flavor and golden color.
Braised veal shank cooked slowly until tender, traditionally served with gremolata and often paired with risotto.
Breaded veal cutlet fried in butter, a classic Milanese specialty and one of the city's most famous dishes.
Celebrated fine dining restaurant offering creative haute cuisine with an elegant, Michelin-starred reputation.
Famous central bakery known for panzerotti, a beloved casual stop near the Duomo with constant local appeal.
Modern Milanese restaurant known for refined Lombard classics in a stylish contemporary setting.
Milan is pricier than most Italian cities, especially for hotels, central dining, and aperitivo areas.
Service is often included or covered by coperto. Tipping is not required, but rounding up or leaving EUR 1-5 for good service is appreciated. Taxis can be rounded up.
Official public transport app
Orio Al Serio Airport Bus Station, Bergamo -> Milano Centrale, Milan
Find answers to the most common questions about traveling from Perugia to Milan by bus. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest bus, the cheapest option, or tips for making the most of your visit at Milan, this guide helps you travel smarter and with confidence.

Here are some other resources that might have the information you need