- 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
$61
Average price
$83
Fastest journey
4h 30m
Average duration
7h 56m
Buses per day
6
Distance
251 km
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)
| Bus | Most popular Train | Driving |
|---|---|---|
$35 Average price Cheapest | $53 Average price | $129 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 $53 (€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 $94 (€77) compared to fuel and tolls ($35 (€29) vs $129 (€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 Tue, Wed | Cheapest price $36 |
Operator FlixBus | Departure Time 02:05AM | Arrival Time 09:15AM | Duration 7h10 | Departure days Everyday | Cheapest price $52 |
Operator BlaBlaCar | Departure Time 05:30AM | Arrival Time 10:40AM | Duration 5h10 | Departure days Sat | Cheapest price $52 |
Operator BlaBlaCar | Departure Time 06:15AM | Arrival Time 11:20AM | Duration 5h05 | Departure days Wed | Cheapest price $39 |
Operator FlixBus | Departure Time 06:50AM | Arrival Time 12:45PM | Duration 5h55 | Departure days Mon, Fri, Sat, Sun | Cheapest price $41 |
Operator FlixBus | Departure Time 07:00AM | Arrival Time 03:15PM | Duration 8h15 | Departure days Thu | Cheapest price $53 |
Operator FlixBus | Departure Time 07:55AM | Arrival Time 03:15PM | Duration 7h20 | Departure days Tue, Wed, Thu, Fri, Sat, Sun | Cheapest price $58 |
Operator BlaBlaCar | Departure Time 08:00AM | Arrival Time 02:30PM | Duration 6h30 | Departure days Sat | Cheapest price $39 |
Operator FlixBus | Departure Time 09:55AM | Arrival Time 05:55PM | Duration 8h00 | Departure days Everyday | Cheapest price $45 |
Operator FlixBus | Departure Time 10:15AM | Arrival Time 05:55PM | Duration 7h40 | Departure days Everyday | Cheapest price $45 |
Operator BlaBlaCar | Departure Time 10:30AM | Arrival Time 03:30PM | Duration 5h00 | Departure days Thu | Cheapest price $42 |
Operator FlixBus | Departure Time 11:25AM | Arrival Time 07:20PM | Duration 7h55 | Departure days Everyday | Cheapest price $47 |
Operator Frecciarossa | Departure Time 12:45PM | Arrival Time 07:50PM | Duration 7h05 | Departure days Mon, Tue, Wed, Fri | Cheapest price $91 |
Operator Frecciarossa | Departure Time 02:01PM | Arrival Time 07:50PM | Duration 5h49 | Departure days Mon, Tue, Wed, Fri | Cheapest price $91 |
Operator BlaBlaCar | Departure Time 03:00PM | Arrival Time 07:40PM | Duration 4h40 | Departure days Wed | Cheapest price $30 |
Operator Frecciarossa | Departure Time 03:20PM | Arrival Time 07:50PM | Duration 4h30 | Departure days Mon, Tue, Wed, Fri | Cheapest price $89 |
Operator FlixBus | Departure Time 05:15PM | Arrival Time 11:00PM | Duration 5h45 | Departure days Mon, Thu, Fri, Sat, Sun | Cheapest price $42 |
Operator BlaBlaCar | Departure Time 07:30PM | Arrival Time 01:00AM | Duration 5h30 | Departure days Fri | Cheapest price $39 |
Operator FlixBus | Departure Time 09:00PM | Arrival Time 04:00AM | Duration 7h00 | Departure days Everyday | Cheapest price $43 |
Operator Itabus | Departure Time 11:25PM | Arrival Time 05:40AM | Duration 6h15 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $36 |
The table below shows live departures for Perugia to Milan buses for today, Tuesday, July 14. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
treno 7515 effettuato con bus PG823+ FRECCIALINK LK008+ FRECCIAROSSA 9588 | 12:45 PM Perugia Capitini | 7h05 | 7:50 PM Milan Centrale | 2 transfers | |
treno 7517 effettuato con bus PG827+ FRECCIALINK LK008+ FRECCIAROSSA 9588 | 2:01 PM Perugia Università | 5h49 | 7:50 PM Milan Centrale | 2 transfers | |
FRECCIALINK LK008+ FRECCIAROSSA 9588 | 3:20 PM Perugia station | 4h30 | 7:50 PM Milan Centrale | 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 | 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 | |
| Wednesday, July 15 | |||||
3826 | 1:10 AM Perugia, Via Cortonese (Fontivegge) | 6h40 | 7:50 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
3826 | 1:10 AM Perugia, Via Cortonese (Fontivegge) | 5h55 | 7:05 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
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 · FlixBus | 7:55 AM Perugia, Piazza Partigiani | 8h30 | 4:25 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 | 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) | 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 | |
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 | |
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 17 times per day, taking around 5h 29m. Cheap bus tickets for this journey start at $13 (€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 $13 (€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 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.
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