The cheapest and fastest trains from Perugia to Milan
Cheapest price
$61
Average price
$96
Fastest journey
3 h 45 m
Average duration
4 h 5 m
Trains per day
77
Distance
365 km
The best way to find a cheap train ticket from Perugia to Milan is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Perugia to Milan will cost around $96 if you buy it on the day, but you can find cheap train tickets today for only $61.
Of the 77 trains that leave Perugia for Milan every day 1 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct trains cover the 365 km distance in an average of 4 h 5 m but if you time it right, some trains will get you there in just 3 h 45 m .
The slowest trains will take 4 h 19 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.
Regionale Veloce 4076 · Tuscany Line 18522 · Regionale 2596
Regionale Veloce 4076 · Tuscany Line 18522 · Regionale 2596
Regionale Veloce 4077 · Regionale Veloce 4154 · Regionale Veloce TTPER 2494
Regionale Veloce 4087 · Regionale Veloce 4516+
InterCityNotte 758
Regionale Veloce 4077 · Regionale Veloce 4154 · Regionale Veloce TTPER 2494
FRECCIAROSSA 9300+
9904
FRECCIAROSSA 9300
Intercity 580+
FRECCIAROSSA 9512
Regionale Veloce 4090+
FRECCIAROSSA 9310
Regionale Veloce 4090+
9924Travel Information
Compare train and coach for Perugia to Milan
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 coach with prices starting from $28. For those with little time consider booking a train which can get you there in 4h 51m. 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 coach costs an average of $28, and a train costs an average of $45.
Distance: 365 km
Compare train with
Most popular Train | Coach |
|---|---|
$55 Average Price | $51 Average Price Cheapest |
5h 21m Average total duration Fastest 4h 51m Onboard + 30m Additional time* | 5h 51m Average total duration 5h 21m Onboard + 30m Additional time* |
0.1 - 0.3kg CO2 emissions Lowest | 0.4 - 0.9kg CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company |
Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Live departures
Perugia to Milan train times
The table below shows live departures for Perugia to Milan trains for today, Friday, 5 December. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
FRECCIAROSSA 9300+ 9904 | On time 4:24 am Perugia station | 3h45 | 8:09 am Milan Rogoredo | 1 change | |
FRECCIAROSSA 9300+ 9924 | On time 4:24 am Perugia station | 8h45 | 1:09 pm Milan Rogoredo | 1 change | |
FRECCIAROSSA 9300 | 4:24 am Perugia station | 3h48 | 8:12 am Milan Porta Garibaldi | 0 changesdirect | |
FRECCIAROSSA 9300+ 9916 | On time 4:24 am Perugia station | 6h45 | 11:09 am Milan Rogoredo | 1 change | |
Regionale Veloce 4070+ 9932 | On time 5:15 am Perugia station | 9h54 | 3:09 pm Milan Rogoredo | 1 change | |
Regionale Veloce 4070+ 9924 | On time 5:15 am Perugia station | 7h54 | 1:09 pm Milan Rogoredo | 1 change | |
Regionale Veloce 4070+ 9916 | On time 5:15 am Perugia station | 5h54 | 11:09 am Milan Rogoredo | 1 change | |
Intercity 580+ 9932 | On time 5:37 am Perugia station | 9h32 | 3:09 pm Milan Rogoredo | 1 change | |
Intercity 580+ 9924 | On time 5:37 am Perugia station | 7h32 | 1:09 pm Milan Rogoredo | 1 change | |
Intercity 580+ FRECCIAROSSA 9512 | 5:37 am Perugia station | 4h13 | 9:50 am Milan Centrale | 1 change | |
Intercity 580+ BUS L580C+ Intercity 604 | On time 5:37 am Perugia station | 7h06 | 12:43 pm Milan Centrale | 2 changes | |
Intercity 580+ 9916 | On time 5:37 am Perugia station | 5h32 | 11:09 am Milan Rogoredo | 1 change | |
Regionale 4949 · Regionale Veloce 4276+ Intercity 606 | 5:52 am Perugia station | 8h41 | 2:33 pm Milan Centrale | 2 changes | |
Regionale 4700 · Regionale Veloce 4094+ 9916 | On time 6:18 am Perugia station | 4h51 | 11:09 am Milan Rogoredo | 2 changes | |
Regionale 4700 · Regionale Veloce 4094+ 9932 | On time 6:18 am Perugia station | 8h51 | 3:09 pm Milan Rogoredo | 2 changes | |
Regionale 4700 · Regionale Veloce 4094+ FRECCIAROSSA 9520 | 6:18 am Perugia station | 5h32 | 11:50 am Milan Centrale | 2 changes | |
Regionale 4700 · Regionale Veloce 4094+ 9924 | On time 6:18 am Perugia station | 6h51 | 1:09 pm Milan Rogoredo | 2 changes | |
Regionale 4700 · Regionale Veloce 4094+ FRECCIAROSSA 9520 | 6:21 am Perugia Università | 5h29 | 11:50 am Milan Centrale | 2 changes | |
Regionale 4700 · Regionale Veloce 4094+ FRECCIAROSSA 9520 | 6:25 am Perugia Capitini | 5h25 | 11:50 am Milan Centrale | 2 changes | |
Regionale 4720+ Intercity 542 · Intercity 608 | 6:47 am Perugia Capitini | 10h01 | 4:48 pm Milan Centrale | 2 changes | |
Regionale 4720+ Intercity 542 · Intercity 608 | 6:52 am Perugia Università | 9h56 | 4:48 pm Milan Centrale | 2 changes | |
Regionale 4704 · Regionale Veloce 4096+ 9924 | On time 7:04 am Perugia station | 6h05 | 1:09 pm Milan Rogoredo | 2 changes | |
Regionale 4704 · Regionale Veloce 4096+ 9932 | On time 7:04 am Perugia station | 8h05 | 3:09 pm Milan Rogoredo | 2 changes | |
Regionale 4704 · Regionale Veloce 4096+ FRECCIAROSSA 1000 9308 | 7:04 am Perugia station | 5h08 | 12:12 pm Milan Porta Garibaldi | 2 changes | |
Regionale 4704 · Regionale Veloce 4096+ 9946 | 7:04 am Perugia station | 11h05 | 6:09 pm Milan Rogoredo | 2 changes | |
Regionale 4720+ Intercity 542 · Intercity 608 | 7:04 am Perugia station | 9h44 | 4:48 pm Milan Centrale | 2 changes | |
Regionale 4704 · Regionale Veloce 4096+ FRECCIAROSSA 1000 9308 | 7:07 am Perugia Università | 5h05 | 12:12 pm Milan Porta Garibaldi | 2 changes | |
Regionale 4704 · Regionale Veloce 4096+ FRECCIAROSSA 1000 9308 | 7:11 am Perugia Capitini | 5h01 | 12:12 pm Milan Porta Garibaldi | 2 changes | |
Regionale 4952 · Regionale Veloce 4090+ FRECCIAROSSA 9310 | On time 8:02 am Perugia Capitini | 5h10 | 1:12 pm Milan Porta Garibaldi | 2 changes | |
Regionale Veloce 4090+ 9924 | On time 8:50 am Perugia station | 4h19 | 1:09 pm Milan Rogoredo | 1 change | |
Regionale Veloce 4090+ FRECCIAROSSA 9310 | On time 8:50 am Perugia station | 4h22 | 1:12 pm Milan Porta Garibaldi | 1 change | |
Regionale Veloce 4090+ 9932 | On time 8:50 am Perugia station | 6h19 | 3:09 pm Milan Rogoredo | 1 change | |
Regionale Veloce 4090+ 9946 | 8:50 am Perugia station | 9h19 | 6:09 pm Milan Rogoredo | 1 change | |
Regionale Veloce 4090 · TUSCANY LINE 4029+ Intercity 674 | 8:50 am Perugia station | 8h08 | 4:58 pm Milan Centrale | 2 changes | |
Regionale Veloce 4090 · TUSCANY LINE 4029+ Intercity 674 | 8:54 am Perugia Università | 8h04 | 4:58 pm Milan Centrale | 2 changes | |
Regionale Veloce 4090+ FRECCIAROSSA 9310 | On time 8:54 am Perugia Università | 4h18 | 1:12 pm Milan Porta Garibaldi | 1 change | |
Regionale Veloce 4073 · Regionale Veloce 4153+ FRECCIAROSSA 9636 | 9:19 am Perugia station | 6h11 | 3:30 pm Milan Centrale | 2 changes | |
Regionale Veloce 4073+ Intercity 588+ Regionale Veloce TTPER 2482 | 9:19 am Perugia station | 10h29 | 7:48 pm Milan Centrale | 2 changes | |
Regionale 4963 · Regionale 4706+ Intercity 590 | 10:31 am Perugia Capitini | 10h32 | 9:03 pm Milan Centrale | 2 changes | |
Regionale Veloce 4074+ 9946 | 10:44 am Perugia station | 7h25 | 6:09 pm Milan Rogoredo | 1 change | |
Regionale Veloce 4074+ 9932 | On time 10:44 am Perugia station | 4h25 | 3:09 pm Milan Rogoredo | 1 change | |
Regionale Veloce 4074+ 9954 | On time 10:44 am Perugia station | 10h25 | 9:09 pm Milan Rogoredo | 1 change | |
Regionale 4706 · Regionale Veloce 4100+ 9946 | 11:27 am Perugia station | 6h42 | 6:09 pm Milan Rogoredo | 2 changes | |
Regionale 4706 · Regionale Veloce 4100+ 9954 | On time 11:27 am Perugia station | 9h42 | 9:09 pm Milan Rogoredo | 2 changes | |
Regionale 4706+ Intercity 590 | 11:27 am Perugia station | 9h36 | 9:03 pm Milan Centrale | 1 change | |
Regionale 4706 · Regionale Veloce 4100+ 9958 | On time 11:27 am Perugia station | 8h42 | 8:09 pm Milan Rogoredo | 2 changes | |
Regionale 4706+ Intercity 590 | 11:30 am Perugia Università | 9h33 | 9:03 pm Milan Centrale | 1 change | |
Regionale Veloce 4076+ 9954 | On time 12:41 pm Perugia station | 8h28 | 9:09 pm Milan Rogoredo | 1 change | |
Regionale Veloce 4076+ 9958 | On time 12:41 pm Perugia station | 7h28 | 8:09 pm Milan Rogoredo | 1 change | |
Regionale Veloce 4076+ 9946 | 12:41 pm Perugia station | 5h28 | 6:09 pm Milan Rogoredo | 1 change | |
Regionale Veloce 4076 · Tuscany Line 18522+ Intercity 684 | 12:41 pm Perugia station | 8h17 | 8:58 pm Milan Centrale | 2 changes | |
Regionale Veloce 4076 · Regionale Veloce 4043+ Intercity 684 | 12:44 pm Perugia Università | 8h14 | 8:58 pm Milan Centrale | 2 changes | |
Regionale Veloce 4077 · Regionale Veloce 4154+ Intercity 614 | 1:15 pm Perugia Capitini | 9h30 | 10:45 pm Milan Centrale | 2 changes | |
Regionale Veloce 4077 · Regionale Veloce 4154+ Intercity 614 | 1:18 pm Perugia Università | 9h27 | 10:45 pm Milan Centrale | 2 changes | |
Regionale 4708 · Regionale Veloce 4102+ 9954 | On time 1:27 pm Perugia station | 7h42 | 9:09 pm Milan Rogoredo | 2 changes | |
Regionale 4708 · Regionale Veloce 4102+ 9958 | On time 1:27 pm Perugia station | 6h42 | 8:09 pm Milan Rogoredo | 2 changes | |
Regionale Veloce 4077 · Regionale Veloce 4154+ Intercity 614 | 1:27 pm Perugia station | 9h18 | 10:45 pm Milan Centrale | 2 changes | |
Regionale 4708 · Regionale Veloce 4102+ 9946 | 1:27 pm Perugia station | 4h42 | 6:09 pm Milan Rogoredo | 2 changes | |
Regionale Veloce 4080+ FRECCIAROSSA 9428 · FRECCIAROSSA 1000 9652 | 2:40 pm Perugia station | 4h50 | 7:30 pm Milan Centrale | 2 changes | |
Regionale Veloce 4080+ FRECCIAROSSA 9552 | 2:40 pm Perugia station | 5h10 | 7:50 pm Milan Centrale | 1 change | |
Regionale Veloce 4080+ 9958 | On time 2:40 pm Perugia station | 5h29 | 8:09 pm Milan Rogoredo | 1 change | |
Regionale Veloce 4080+ 9954 | On time 2:40 pm Perugia station | 6h29 | 9:09 pm Milan Rogoredo | 1 change | |
Regionale Veloce 4080+ 9962 | 2:40 pm Perugia station | 8h29 | 11:09 pm Milan Rogoredo | 1 change | |
Regionale Veloce 4080+ FRECCIAROSSA 9428 · FRECCIAROSSA 1000 9652 | 2:43 pm Perugia Università | 4h47 | 7:30 pm Milan Centrale | 2 changes | |
Regionale Veloce 4080+ FRECCIAROSSA 9552 | 2:43 pm Perugia Università | 5h07 | 7:50 pm Milan Centrale | 1 change | |
Regionale 4712 · Regionale Veloce 4104+ FRECCIAROSSA 1000 9556 | On time 3:23 pm Perugia station | 5h27 | 8:50 pm Milan Centrale | 2 changes | |
Regionale 4712 · Regionale Veloce 4104+ 9962 | 3:23 pm Perugia station | 7h46 | 11:09 pm Milan Rogoredo | 2 changes | |
Regionale 4712 · Regionale Veloce 4104+ 9954 | On time 3:23 pm Perugia station | 5h46 | 9:09 pm Milan Rogoredo | 2 changes | |
Regionale 4712 · Regionale Veloce 4104+ 9958 | On time 3:23 pm Perugia station | 4h46 | 8:09 pm Milan Rogoredo | 2 changes | |
Regionale 4712 · Regionale Veloce 4104+ FRECCIAROSSA 1000 9556 | On time 3:29 pm Perugia Università | 5h21 | 8:50 pm Milan Centrale | 2 changes | |
Regionale Veloce 4082+ 9954 | On time 4:44 pm Perugia station | 4h25 | 9:09 pm Milan Rogoredo | 1 change | |
Regionale Veloce 4082+ 9962 | 4:44 pm Perugia station | 6h25 | 11:09 pm Milan Rogoredo | 1 change | |
Regionale Veloce 4084+ 9962 | 6:41 pm Perugia station | 4h28 | 11:09 pm Milan Rogoredo | 1 change | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Perugia to Milan by train or coach
Compare train and coach 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.
06 Dec
07 Dec
08 Dec
09 Dec
10 Dec
11 Dec
12 Dec
13 Dec
14 Dec
15 Dec
16 Dec
17 Dec
18 Dec
19 Dec
20 Dec
21 Dec
22 Dec
23 Dec
24 Dec
25 Dec
26 Dec
How far in advance should I book train tickets from Perugia to Milan?
Journey information
Overview: Train from Perugia to Milan
Trains from Perugia to Milan run on average 37 times per day, taking around 4h 51m. Cheap train tickets for this journey start at $45 but you can travel from only $28 by coach.
There are 1 trains per day. The earliest train runs at 01:25, the last at 23:19. The fastest train covers the 365 km distance in 5h 28m.
Distance 365 km |
Average train duration 4h 51m |
Cheapest ticket price $45 |
Trains per day 37 |
Direct trains 1 |
Fastest train 5h 28m |
First train 01:25 |
Last train 23:19 |
Train companies: Intercity, Regionale, Frecciarossa, Italo, Intercity Notte from Perugia to Milan trainsIntercity, Regionale, Frecciarossa, Italo, Intercity Notte trains will get you between Perugia and Milan from $28. With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Intercity
Regionale
Frecciarossa
Italo
Intercity Notte
FAQs: Perugia to Milan train
Find answers to the most common questions about traveling from Perugia to Milan by train. 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 train, the cheapest option, or tips for making the most of your visit at Milan, this guide helps you travel smarter and with confidence.

Passengers board the train most frequently from Perugia, which is located around away from the city centre, and they get off the train at Milan Centrale, located away from the city centre.
popular train stations
Important Stations and Airports in Perugia and Milan
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- The car park is open 7 days a week, with access from Piazza Vittorio Veneto.
- Ristorante La Taverna
- Osteria A Priori
- Outside the main entrance.
- Elevators, ramps.
- €1
- Sangallo Palace Hotel
- Hotel Giò Wine e Jazz Area
- Hotel Fortuna
- Located in the main hall
- Avis
- Europcar
- Located in the main hall
- Free
- Hall 1: main entrance, ticket office, and platforms
- Hall 2: waiting area and shops
- Bus: Several lines available
- Minimetro: Pincetto - Pian di Massiano line
- 6:00 AM - 8:00 PM Monday - Saturday
- Parking is available near the station, with limited spaces.
- Testone - Ellera di Corciano
- Napul'e
- Outside the main entrance.
- Elevators.
- €0.50
- Hotel Gherlinda
- Hotel El Patio
- Hotel Conca del Sole
- Bus: Local bus services connect the station to Corciano and Perugia.
- 7:00 AM - 9:00 PM Monday - Sunday
- Free
- The car park is open 7 days a week from 6:00 a.m. to 10:00 p.m. Access via Via del Giochetto.
- Osteria a Priori
- La Taverna
- Outside the main entrance.
- Ramps, restrooms.
- €1
- Sina Brufani
- Hotel Fortuna
- Sangallo Palace Hotel
- Located in the main hall
- Located in the main hall
- Free
- Hall 1: main entrance, platform 1-2 for regional trains
- Hall 2: ticket office and waiting area
- Bus: Several lines available
- MiniMetro: Pincetto station nearby
- Free Wi-Fi in the station.
- Caffeteria Panni Caldi
- Princi
- Burgez
- Bricco Café
- U! Come tu mi vuoi
- Autogrill
- Culto
- Accessible facilities such as ticket machines, toilets, and ramps and additional assistance as needed from 07:45 to 22:30.
- Hotel NH Milano Palazzo Moscova
- AC Hotel by Marriott Milano
- Tocq Hotel
- Metro lines: M2, M5
- Bus lines: 43, 56, 70, 94
- Train lines: R21, R31, S1, S11, S2, S5, S7, S8
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- The car park is open 7 days a week, 24 hours a day. Access is available from Via G Battista Cassinis.
- Ristorante Pizzeria Il Moro
- Osteria La Piola
- Outside the main entrance.
- Elevators, ramps.
- €1
- Starhotels Business Palace
- Hotel Mistral
- Hotel Brenta Milano
- Located in the main hall
- Avis
- Located in the main hall
- Free
- Hall 1: main entrance, platforms 1-8 for trains to various destinations
- Hall 2: metro connections
- Metro: Line M3
- Bus: Several lines available
- Train: Regional and high-speed services
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- Parking is available near the station with access from Via Rombon.
- Ristorante Pizzeria Il Girasole
- Osteria Lambrate
- Outside the main entrance.
- Elevators, ramps.
- €1
- MEININGER Milano Lambrate
- Hotel Gamma
- Hotel Lugano
- Located in the main hall
- Avis
- Europcar
- Located in the main hall
- Free
- Hall 1: main entrance, platform 1-7 for trains to various destinations
- Hall 2: Metro connections
- Metro: Line M2
- Bus: Several lines available
- Tram: Line 19
More options for your journey from Perugia to Milan
Here are some other resources that might have the information you need


