- Must visit
Galleria Nazionale dell'Umbria
Umbria's leading art museum, with masterpieces from the Middle Ages to the Renaissance in the historic Palazzo dei Priori.
Cheapest price
€33
Average price
€47
Fastest journey
4 h 14 m
Average duration
5 h 26 m
Buses per day
13
Distance
365 km
The best way to find a cheap bus ticket from Milan to Perugia is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Milan to Perugia will cost around €47 if you buy it on the day, but the cheapest tickets can be found for only €33.
Of the 13 buses that leave Milan for Perugia on Wed, Aug 05, 5 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Wed, Aug 05 the direct buses cover the 365 km distance in an average of 5 h 26 m but if you time it right, some buses will get you there in just 4 h 14 m .
On Wed, Aug 05 the slowest buses will take 6 h 20 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.
2421 · 3887
3887
FlixBus
FlixBus · FlixBus
FlixBus · FlixBus
FRECCIAROSSA 9519+
FRECCIALINK LK005
FRECCIAROSSA 9519+
FRECCIALINK LK005+
treno 4076 effettuato con bus PG820
3887
FlixBus · FlixBus
FlixBusOmio recommends booking the train as it is the most popular option from Milan to Perugia among Omio's users. If you are prioritising price take the bus with prices starting from €20. For those with little time consider booking a train which can get you there in 5h 2m. 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 €20, and a train costs an average of €20.
Distance: 226 miles (365 km)
| Bus | Most popular Train |
|---|---|
€35 Average price Cheapest | €46 Average price |
6h 4m Average total duration 5h 34m Onboard + 30m Additional time* | 5h 32m Average total duration Fastest 5h 2m Onboard + 30m Additional time* |
0.4 - 0.9kg CO2 emissions | 0.1 - 0.3kg CO2 emissions Lowest |
![]() Most popular bus company | ![]() Most popular train company |
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 Milan to Perugia:
A bus is €11 less than a train for this route with tickets for a train from Milan to Perugia costing on average €46.
Other travel options to Perugia take longer:
Train takes on average 5h 2m.
Bus takes on average 5h 34m.
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator Itabus | Departure Time 12:30AM | Arrival Time 06:25AM | Duration 5h55 | Departure days Everyday | Cheapest price €35 |
Operator FlixBus | Departure Time 12:35AM | Arrival Time 07:10AM | Duration 6h35 | Departure days Everyday | Cheapest price €40 |
Operator FlixBus | Departure Time 01:10AM | Arrival Time 07:10AM | Duration 6h00 | Departure days Everyday | Cheapest price €40 |
Operator BlaBlaCar | Departure Time 04:40AM | Arrival Time 02:50PM | Duration 10h10 | Departure days Mon | Cheapest price €42 |
Operator BlaBlaCar | Departure Time 04:50AM | Arrival Time 10:20AM | Duration 5h30 | Departure days Sun | Cheapest price €46 |
Operator FlixBus | Departure Time 07:15AM | Arrival Time 01:45PM | Duration 6h30 | Departure days Mon, Thu, Fri, Sat, Sun | Cheapest price €35 |
Operator BlaBlaCar | Departure Time 07:30AM | Arrival Time 12:20PM | Duration 4h50 | Departure days Wed | Cheapest price €32 |
Operator FlixBus | Departure Time 08:00AM | Arrival Time 03:45PM | Duration 7h45 | Departure days Mon, Thu, Fri, Sat, Sun | Cheapest price €33 |
Operator Frecciarossa | Departure Time 08:10AM | Arrival Time 12:24PM | Duration 4h14 | Departure days Tue, Wed, Thu, Fri, Sat, Sun | Cheapest price €64 |
Operator BlaBlaCar | Departure Time 09:30AM | Arrival Time 02:50PM | Duration 5h20 | Departure days Sun | Cheapest price €26 |
Operator BlaBlaCar | Departure Time 10:00AM | Arrival Time 02:30PM | Duration 4h30 | Departure days Mon, Fri | Cheapest price €20 |
Operator FlixBus | Departure Time 10:00AM | Arrival Time 06:10PM | Duration 8h10 | Departure days Sun | Cheapest price €43 |
Operator FlixBus | Departure Time 10:30AM | Arrival Time 06:10PM | Duration 7h40 | Departure days Everyday | Cheapest price €34 |
Operator BlaBlaCar | Departure Time 11:00AM | Arrival Time 03:40PM | Duration 4h40 | Departure days Mon | Cheapest price €36 |
Operator BlaBlaCar | Departure Time 11:10AM | Arrival Time 05:30PM | Duration 6h20 | Departure days Wed | Cheapest price €36 |
Operator FlixBus | Departure Time 11:25AM | Arrival Time 07:15PM | Duration 7h50 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price €38 |
Operator BlaBlaCar | Departure Time 12:30PM | Arrival Time 09:00PM | Duration 8h30 | Departure days Sun | Cheapest price €41 |
Operator FlixBus | Departure Time 12:40PM | Arrival Time 08:15PM | Duration 7h35 | Departure days Everyday | Cheapest price €38 |
Operator FlixBus | Departure Time 12:45PM | Arrival Time 08:15PM | Duration 7h30 | Departure days Mon, Tue, Wed, Fri, Sat, Sun | Cheapest price €43 |
Operator BlaBlaCar | Departure Time 02:00PM | Arrival Time 06:50PM | Duration 4h50 | Departure days Fri | Cheapest price €25 |
Operator BlaBlaCar | Departure Time 02:30PM | Arrival Time 07:50PM | Duration 5h20 | Departure days Fri | Cheapest price €24 |
Operator BlaBlaCar | Departure Time 03:15PM | Arrival Time 08:25PM | Duration 5h10 | Departure days Fri | Cheapest price €21 |
Operator BlaBlaCar | Departure Time 03:30PM | Arrival Time 08:10PM | Duration 4h40 | Departure days Thu, Fri | Cheapest price €25 |
Operator BlaBlaCar | Departure Time 04:00PM | Arrival Time 08:50PM | Duration 4h50 | Departure days Tue | Cheapest price €29 |
Operator FlixBus | Departure Time 04:40PM | Arrival Time 11:30PM | Duration 6h50 | Departure days Thu, Fri, Sat, Sun | Cheapest price €37 |
Operator FlixBus | Departure Time 05:25PM | Arrival Time 11:30PM | Duration 6h05 | Departure days Thu, Fri, Sat, Sun | Cheapest price €37 |
Operator BlaBlaCar | Departure Time 06:30PM | Arrival Time 11:50PM | Duration 5h20 | Departure days Thu | Cheapest price €30 |
Operator BlaBlaCar | Departure Time 07:40PM | Arrival Time 12:10AM | Duration 4h30 | Departure days Thu | Cheapest price €26 |
Operator Itabus | Departure Time 09:35PM | Arrival Time 06:25AM | Duration 8h50 | Departure days Everyday | Cheapest price €27 |
Operator FlixBus | Departure Time 11:05PM | Arrival Time 06:10AM | Duration 7h05 | Departure days Everyday | Cheapest price €38 |
Operator Itabus | Departure Time 11:50PM | Arrival Time 06:25AM | Duration 6h35 | Departure days Everyday | Cheapest price €35 |
Operator FlixBus | Departure Time 11:50PM | Arrival Time 06:10AM | Duration 6h20 | Departure days Everyday | Cheapest price €38 |
The table below shows live departures for Milan to Perugia buses for today, Tuesday, August 4. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
FlixBus · FlixBus | 10:30 AM Milano, Autostazione Lampugnano | 7h40 | 6:10 PM Perugia, Piazza Partigiani | 1 transfer | |
FlixBus | 12:40 PM Milano, Autostazione Lampugnano | 7h35 | 8:15 PM Perugia, Piazza Partigiani | 0 transfersDirect | |
FlixBus · FlixBus | 12:45 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 7h30 | 8:15 PM Perugia, Piazza Partigiani | 1 transfer | |
2421 · 3887 | 9:35 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 8h50 | 6:25 AM Perugia, Via Cortonese (Fontivegge) | 1 transfer | |
FlixBus | 11:05 PM Milano, Autostazione Lampugnano | 7h05 | 6:10 AM Perugia, Piazza Partigiani | 0 transfersDirect | |
FlixBus | 11:50 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 6h20 | 6:10 AM Perugia, Piazza Partigiani | 0 transfersDirect | |
3887 | 11:50 PM Milano, Autostazione Lampugnano | 6h35 | 6:25 AM Perugia, Via Cortonese (Fontivegge) | 0 transfersDirect | |
| Wednesday, August 5 | |||||
3887 | 12:30 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 5h55 | 6:25 AM Perugia, Via Cortonese (Fontivegge) | 0 transfersDirect | |
FlixBus · FlixBus | 12:35 AM Milano, Autostazione Lampugnano | 6h35 | 7:10 AM Perugia, Piazza Partigiani | 1 transfer | |
FlixBus · FlixBus | 1:10 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 6h00 | 7:10 AM Perugia, Piazza Partigiani | 1 transfer | |
FRECCIAROSSA 9519+ FRECCIALINK LK005 | 8:10 AM Milan Centrale | 4h14 | 12:24 PM Perugia station | 1 transfer | |
FRECCIAROSSA 9519+ FRECCIALINK LK005+ treno 4076 effettuato con bus PG820 | 8:10 AM Milan Centrale | 4h39 | 12:49 PM Perugia Università | 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 Milan to Perugia run on average 13 times per day, taking around 5h 34m. Cheap bus tickets for this journey start at €20 but you can travel from only €20 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 4h 14m.
Distance 226 miles (365 km) |
Average bus duration 5h 34m |
Cheapest ticket price €20 |
Buses per day 13 |
Direct buses 6 |
Fastest bus 4h 14m |
First bus 12:30 AM |
Last bus 11:50 PM |
Cheapest Month Apr |
Cheapest Day Mon |
High Season Apr - Jun |
Low Season Jan - Mar |
Busiest Day Thu |
Least Busy Day Sat |
Best time to book 28 days |
Discover the best of Perugia — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Perugia trip today.
Umbria's leading art museum, with masterpieces from the Middle Ages to the Renaissance in the historic Palazzo dei Priori.
Richly decorated chapel with Perugino frescoes, a jewel of Renaissance painting and one of Perugia's most rewarding intimate visits.
Archaeological museum displaying Etruscan, Roman, and prehistoric finds. Essential for understanding Perugia's ancient roots.
Perugia's main square, framed by the cathedral, fountain, and civic palace. The city's historic and symbolic heart.
Elegant central avenue lined with historic buildings, shops, and viewpoints. Ideal for strolling through the old town atmosphere.
Terrace garden above the lower city with broad valley views and easy access to the monumental underground spaces of Rocca Paolina.
Rustic Umbrian flatbread baked on a griddle, often filled with local greens, sausage, or cheese. A staple street food across Perugia and the wider region.
Thick handmade pasta from Umbria, commonly served with rich goose ragù. It is a classic festive dish tied to rural Umbrian cooking traditions.
Hand-cut pasta with black truffle from nearby Norcia and Umbrian hills. Truffles are a prized regional ingredient and a signature luxury of local cuisine.
Elegant Michelin-starred dining in a historic setting, known for refined Umbrian tasting menus, truffle dishes, and polished service.
Well-known traditional trattoria serving hearty Umbrian classics, pasta, and roasted meats in a warm, old-school atmosphere near the center.
Historic and casual spot celebrated for torta al testo with classic fillings. A reliable choice for authentic local street-food style dining.
Moderate for Italy: hotels and dining are usually cheaper than Florence or Rome, while transit is limited but affordable. Tourist area prices rise in peak season.
Service is often included or modest. Round up or leave €1-2 in cafes, 5-10% at restaurants for good service, and round up taxi fares.
Official public transport app
Piazza Partigiani -> Piazza IV Novembre, Perugia
Find answers to the most common questions about traveling from Milan to Perugia 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 Perugia, this guide helps you travel smarter and with confidence.

Most Milan to Perugia buses use the Milano, Autostazione Lampugnano to Perugia, Piazza Partigiani station pair, with some services arriving at Perugia, Viale Giovanni Perari (Parcheggio). Use this guide to compare Milan and Perugia 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