- Must visit
Pinacoteca di Brera
One of Italy’s top art museums, featuring masterpieces by Mantegna, Bellini, Raphael, Caravaggio, and Piero della Francesca.
Cheapest price on Aug 29
$39
Average ticket price on Aug 29
$62
Fastest journey on Aug 29
5 h 45 m
Average journey duration on Aug 29
6 h 12 m
Buses on Aug 29
22
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 $62 if you buy it on the day, but the cheapest tickets can be found for only $39.
On Sat, Aug 29, we found 22 buses from Perugia to Milan, including 7 direct services.
On Sat, Aug 29 the direct buses cover the 365 km distance in an average of 6 h 12 m but if you time it right, some buses will get you there in just 5 h 45 m .
On Sat, Aug 29 the slowest buses will take 6 h 35 m 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.
FlixBus · FlixBus
FlixBus · FlixBus
FlixBus · FlixBus
FlixBus · FlixBus
FlixBus
FlixBus
FlixBus
FlixBus
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 train, with an average ticket price of $49 For those with little time, consider booking a train, which has an average total journey time of 5h 9m. 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 $49, while a bus costs an average of $49.
Distance: 226 miles (365 km)
| Bus | Most popular Train | Driving |
|---|---|---|
$49 Average price | $49 Average price Cheapest | $134 Average price (fuel + tolls) |
7h 26m Average total duration 6h 56m Onboard + 30m Additional time* | 5h 9m Average total duration Fastest 4h 39m 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 train is $0.46 (€0.37) less than a bus for this route with tickets for a bus from Perugia to Milan costing on average $49 (€40).
Other travel options to Milan take longer:
Bus takes on average 6h 56m.
Tickets start at around $49 (€40) compared to roughly $134 (€108) in fuel and tolls — a saving of about $84 (€68). The journey takes 6h 56m versus 5h 38m by car, so you'll arrive a bit later, but you can use the time productively rather than spending it behind the wheel. No parking to sort, no fuel stops, and most coaches have Wi-Fi and power outlets.
Direct services are operated by FlixBus, Itabus, BlaBlaCar.
Driving is worth considering if you're on a tight schedule, travelling as a group (where fuel costs split several ways), or want the flexibility to stop along the way.
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator FlixBus | Departure Time 02:05AM | Arrival Time 09:15AM | Duration 7h10 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $41 |
Operator FlixBus | Departure Time 06:50AM | Arrival Time 12:45PM | Duration 5h55 | Departure days Mon, Wed, Thu, Sat, Sun | Cheapest price $40 |
Operator FlixBus | Departure Time 07:55AM | Arrival Time 08:55PM | Duration 13h00 | Departure days Tue, Wed, Thu, Sat, Sun | Cheapest price $39 |
Operator FlixBus | Departure Time 09:55AM | Arrival Time 05:55PM | Duration 8h00 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $28 |
Operator BlaBlaCar | Departure Time 10:10AM | Arrival Time 02:40PM | Duration 4h30 | Departure days Sat | Cheapest price $40 |
Operator FlixBus | Departure Time 10:15AM | Arrival Time 06:30PM | Duration 8h15 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $26 |
Operator FlixBus | Departure Time 11:25AM | Arrival Time 07:20PM | Duration 7h55 | Departure days Mon, Tue, Wed, Thu, Sat, Sun | Cheapest price $30 |
Operator Frecciarossa | Departure Time 12:45PM | Arrival Time 07:50PM | Duration 7h05 | Departure days Mon, Tue, Wed | Cheapest price $85 |
Operator Trenitalia | Departure Time 12:50PM | Arrival Time 11:17PM | Duration 10h27 | Departure days Mon, Sat | Cheapest price $65 |
Operator Frecciarossa | Departure Time 02:01PM | Arrival Time 07:50PM | Duration 5h49 | Departure days Mon, Tue, Wed | Cheapest price $85 |
Operator Frecciarossa | Departure Time 03:20PM | Arrival Time 07:50PM | Duration 4h30 | Departure days Mon, Tue, Wed | Cheapest price $83 |
Operator BlaBlaCar | Departure Time 04:00PM | Arrival Time 08:40PM | Duration 4h40 | Departure days Mon, Fri | Cheapest price $31 |
Operator BlaBlaCar | Departure Time 05:00PM | Arrival Time 09:40PM | Duration 4h40 | Departure days Wed | Cheapest price $31 |
Operator FlixBus | Departure Time 05:15PM | Arrival Time 11:00PM | Duration 5h45 | Departure days Mon, Thu, Fri, Sat, Sun | Cheapest price $37 |
Operator BlaBlaCar | Departure Time 05:30PM | Arrival Time 10:50PM | Duration 5h20 | Departure days Sun | Cheapest price $37 |
Operator BlaBlaCar | Departure Time 06:30PM | Arrival Time 12:10AM | Duration 5h40 | Departure days Fri | Cheapest price $40 |
Operator BlaBlaCar | Departure Time 07:00PM | Arrival Time 11:40PM | Duration 4h40 | Departure days Mon | Cheapest price $38 |
Operator BlaBlaCar | Departure Time 07:30PM | Arrival Time 01:10AM | Duration 5h40 | Departure days Sat | Cheapest price $32 |
Operator BlaBlaCar | Departure Time 08:00PM | Arrival Time 12:50AM | Duration 4h50 | Departure days Sat | Cheapest price $31 |
Operator FlixBus | Departure Time 09:00PM | Arrival Time 05:15AM | Duration 8h15 | Departure days Everyday | Cheapest price $30 |
Operator Itabus | Departure Time 11:25PM | Arrival Time 05:40AM | Duration 6h15 | Departure days Everyday | Cheapest price $37 |
The table below shows live departures for Perugia to Milan buses for today, Friday, August 28. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
FlixBus | 5:15 PM Perugia, Piazza Partigiani | 6h20 | 11:35 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 5:15 PM Perugia, Piazza Partigiani | 5h45 | 11:00 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
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 | 8h15 | 5:15 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
FlixBus · FlixBus | 9:00 PM Perugia, Piazza Partigiani | 14h55 | 11:55 AM Milano, Milan Linate Airport | 1 transfer | |
3888 | 11:25 PM Perugia, Via Cortonese (Fontivegge) | 6h15 | 5:40 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
| Saturday, August 29 | |||||
FlixBus | 2:05 AM Perugia, Piazza Partigiani | 6h25 | 8:30 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 2:05 AM Perugia, Piazza Partigiani | 7h10 | 9:15 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 6:50 AM Perugia, Piazza Partigiani | 5h55 | 12:45 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 6:50 AM Perugia, Piazza Partigiani | 6h35 | 1:25 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus | 7:55 AM Perugia, Piazza Partigiani | 7h20 | 3:15 PM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus · FlixBus | 7:55 AM Perugia, Piazza Partigiani | 13h00 | 8:55 PM Milano, Milan Linate Airport | 1 transfer | |
FlixBus · FlixBus | 7:55 AM Perugia, Piazza Partigiani | 6h40 | 2:35 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
FlixBus · FlixBus | 9:55 AM Perugia, Piazza Partigiani | 8h00 | 5:55 PM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus · FlixBus | 10:15 AM Perugia, Viale Giovanni Perari (Parcheggio) | 7h40 | 5:55 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 | 11:25 AM Perugia, Piazza Partigiani | 7h55 | 7:20 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus | 11:25 AM Perugia, Piazza Partigiani | 7h05 | 6:30 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
treno 4076 effettuato con bus PG820+ BUS L596A+ Intercity 596 | 12:50 PM Perugia Università | 10h27 | 11:17 PM Milan Centrale | 2 transfers | |
This is the last bus of the day. | |||||
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 15 times per day, taking around 6h 56m. Cheap bus tickets for this journey start at $14 (€11) but you can travel from only $10 (€8) by train.
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 5h 15m.
Distance 226 miles (365 km) |
Average bus duration 6h 56m |
Cheapest ticket price $14 (€11) |
Buses per day 15 |
Direct buses 6 |
Fastest bus 5h 15m |
First bus 12:30 AM |
Last bus 11:50 PM |
Cheapest Month Feb |
Cheapest Day Fri |
High Season Jul - Sep |
Low Season Jan - Mar |
Busiest Day Sun |
Least Busy Day Sat |
Best time to book 35 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 top art museums, featuring masterpieces by Mantegna, Bellini, Raphael, Caravaggio, and Piero della Francesca.
This contemporary art museum near Porta Romana presents rotating exhibitions in a striking former industrial distillery complex.
Italy’s leading science museum is set in a former monastery and features Leonardo galleries, trains, aircraft, and a submarine.
Milan’s central square frames the cathedral and major civic buildings, making it the city’s essential meeting point and photo stop.
This artistic district offers charming lanes, Brera atmosphere, boutiques, and easy access to galleries and evening strolls.
A large landscaped park behind the castle, perfect for walks, skyline views, and reaching landmarks like the Arch of Peace.
Saffron risotto cooked with butter, stock and cheese. It is Milan's signature dish, linked to the city's love of rich northern Italian rice cookery.
Breaded veal cutlet fried in butter until golden. A classic Milanese main, prized for its simple preparation and long-standing local tradition.
Slow-braised veal shanks with vegetables, wine and broth, often finished with gremolata. A hearty Lombard specialty commonly paired with risotto.
Three-Michelin-star fine dining by Enrico Bartolini in MUDEC. Expect refined Italian tasting menus in a polished contemporary setting.
Historic Milanese restaurant near the Duomo, famous for risotto and cotoletta. Traditional, elegant rooms and a strong local culinary identity.
Long-running local favorite for classic Milanese cuisine, especially risotto and ossobuco. Warm, old-school atmosphere in the Brera area.
Moderate for Western Europe. Hotels and central dining can be pricey, but transit is affordable and budget meals, aperitivo deals, and local cafes help keep daily costs reasonable.
Tipping is modest. Service may be included. Round up or leave €1-2 at cafes, 5-10% for good restaurant service, and round up taxi fares.
Official public transport app
Orio al Serio, Milan Bergamo Airport (Bus station) -> 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.

Most Perugia to Milan buses use the Perugia, Piazza Partigiani to Milano, Autostazione Lampugnano station pair, with some services arriving at Milano, San Donato - Settore B (Viale Giuseppe Impastato). Use this guide to compare Perugia and Milan bus stations on this route, check city-centre transport, alongside checking practicalities like bus station facilities and services.
Perugia, Via Cortonese (Fontivegge) is 1 km from Perugia city centre. Public transport options include:
Perugia, Via Cortonese (Fontivegge) has practical services for this route, including Wifi, Parking, ATM, Taxis, Accessibility, WC, Shower, and Ticket Office.
Wi-Fi is available at Perugia, Via Cortonese (Fontivegge). ATMs are available at Perugia, Via Cortonese (Fontivegge).
Ticket office support is available at Perugia, Via Cortonese (Fontivegge).
Available at Perugia, Via Cortonese (Fontivegge): Parking, Taxis, WC.
Accessibility facilities are available at Perugia, Via Cortonese (Fontivegge): Accessible for persons with reduced mobility.
Milano, Autostazione Lampugnano is 5 km from Milan city centre. Public transport options include:
Milano, Autostazione Lampugnano has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food options include: Cafeteria Lampugnano (in the station), Trattoria Milano (0.5 km), Pizza Express (0.7 km).
Free Wi-Fi. ATMs are located near the main entrance.
Ticket office support is available at Milano, Autostazione Lampugnano.
Available at Milano, Autostazione Lampugnano: Parking, Taxis, WC.
Accessibility facilities are available at Milano, Autostazione Lampugnano: Elevators, ramps.
Milano, San Donato - Settore B (Viale Giuseppe Impastato) is 6 km from Milan city centre. Public transport options include:
Milano, San Donato - Settore B (Viale Giuseppe Impastato) has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food options include: Cafeteria Italiana (in the station), Fast Food Express (in the station), Trattoria Milano (0.5 km).
Free Wi-Fi. ATMs are located near the main entrance for cash withdrawals.
Ticket office support is available at Milano, San Donato - Settore B (Viale Giuseppe Impastato).
Available at Milano, San Donato - Settore B (Viale Giuseppe Impastato): Parking, Taxis, WC.
Accessibility facilities are available at Milano, San Donato - Settore B (Viale Giuseppe Impastato): Elevators, ramps.
Here are some other resources that might have the information you need