There are 11 ways to get from Madrid to Perugia by plane, train, train (Renfe, Ouigo, Trenitalia), bus, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly to Florence Peretola Airport, train
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Florence Peretola Airport (FLR)plane MAD - FLR
- Take the train from Firenze S.M.N. to Perugiatrain
8h 3m€66–200Fly to Fiumicino International Airport, train
cheapest- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Fiumicino International Airport (FCO)plane MAD - FCO
- Take the train from Roma Termini to Folignotrain
9h 16m€60–205Train
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain Ave
- Take the train from Barcelona-Sants to Lyon Part Dieutrain
- Take the train from Lyon Part Dieu to Torino Porta Susatrain Fr
- Take the train from Torino Porta Susa to Perugiatrain Fr
19h 25m€184–435Bus via Florence
- Take the bus from Madrid to Genoabus
- Take the bus from Genoa to Florence Villa Constanza Bus Stationbus 510 / ...
- Take the bus from Florence Villa Constanza Bus Station to Perugiabus 443 / ...
27h 30m€82–175Drive 1,791.6 km
- Drive from Madrid to Perugiacar 1,791.6 km
17h 45m€274–396Fly to Pisa International Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Pisa International Airport (PSA)plane MAD - PSA
- Take the train from Pisa Centrale to Firenze S.M.N.train
- Take the train from Firenze S.M.N. to Perugiatrain
9h 21m€88–257Fly to Bologna Guglielmo Marconi Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Bologna Guglielmo Marconi Airport (BLQ)plane MAD - BLQ
- Take the train from Bologna Centrale to Florence Santa Maria Novellatrain
- Take the train from Firenze S.M.N. to Perugiatrain
8h 59m€84–252Fly to Milan Linate Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Milan Linate Airport (LIN)plane MAD - LIN
- Take the train from Milano P.Garibaldi to Perugiatrain
9h 28m€105–278Fly to Raffaello Sanzio Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Raffaello Sanzio Airport (AOI)plane MAD - AOI
- Take the train from Jesi to Folignotrain
9h 11m€78–346Train, bus
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Marseille St Charlestrain
- Take the bus from Marseille, Gare de Marseille-Saint-Charles to Florencebus
- Take the train from Firenze S.M.N. to Perugiatrain
21h 37m€133–222Bus
- Take the bus from Madrid Mendez Alvaro Estacion Sur to Milano, Autostazione Lampugnanobus Union Ivkoni - Unibus 3419 / ...
- Take the bus from Milano, Autostazione Lampugnano to Perugia Train Station Bus Stopbus Itabus
32h 10m€82–135
Madrid to Perugia by train
Questions & Answers
The cheapest way to get from Madrid to Perugia is to fly and train which costs €65 - €200 and takes 8h 3m.
The fastest way to get from Madrid to Perugia is to fly and train which takes 8h 3m and costs €65 - €200.
No, there is no direct bus from Madrid to Perugia. However, there are services departing from Madrid and arriving at Perugia via Genoa and Florence Villa Constanza Bus Station. The journey, including transfers, takes approximately 27h 30m.
No, there is no direct train from Madrid to Perugia. However, there are services departing from Madrid-Puerta de Atocha-Almudena Grandes and arriving at Perugia via Barcelona-Sants, Lyon Part Dieu and Torino Porta Susa. The journey, including transfers, takes approximately 19h 25m.
The distance between Madrid and Perugia is 1437 km. The road distance is 1791.6 km.
The best way to get from Madrid to Perugia without a car is to train which takes 19h 25m and costs €180 - €440.
It takes approximately 8h 3m to get from Madrid to Perugia, including transfers.
Madrid to Perugia bus services, operated by FlixBus, depart from Madrid station.
Madrid to Perugia train services, operated by Renfe AVE, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
The best way to get from Madrid to Perugia is to train which takes 19h 25m and costs €180 - €440. Alternatively, you can bus via Florence, which costs €80 - €180 and takes 27h 30m.
What companies run services between Madrid, Spain and Perugia, Italy?
You can take a train from Madrid-Puerta de Atocha-Almudena Grandes to Perugia via Barcelona-Sants, Lyon Part Dieu, and Torino Porta Susa in around 19h 25m. Alternatively, you can take a bus from Madrid to Perugia via Genoa and Florence Villa Constanza Bus Station in around 27h 30m.
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Florence Peretola Airport
- Ave. Duration
- 2h 17m
- When
- Every day
- Estimated price
- €45–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Florence Peretola Airport via Barcelona
- Ave. Duration
- 4h 12m
- When
- Monday, Tuesday, Thursday, and Sunday
- Estimated price
- €45–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €40–110
Flights from Adolfo Suárez Madrid–Barajas Airport to Bologna Guglielmo Marconi Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €55–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Bologna Guglielmo Marconi Airport via Barcelona
- Ave. Duration
- 4h 45m
- When
- Friday
- Estimated price
- €90–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €55–170
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Florence Peretola Airport
- Ave. Duration
- 2h 17m
- When
- Every day
- Estimated price
- €45–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Florence Peretola Airport via Barcelona
- Ave. Duration
- 4h 12m
- When
- Monday, Tuesday, Thursday, and Sunday
- Estimated price
- €45–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €40–110
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport via Ibiza
- Ave. Duration
- 5h 10m
- When
- Monday
- Estimated price
- €110–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Bologna Guglielmo Marconi Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €55–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Bologna Guglielmo Marconi Airport via Barcelona
- Ave. Duration
- 4h 45m
- When
- Friday
- Estimated price
- €90–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €55–170
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €55–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport via Palma Mallorca
- Ave. Duration
- 4h 25m
- When
- Tuesday
- Estimated price
- €55–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Pisa International Airport
- Ave. Duration
- 2h 10m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €55–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Pisa International Airport via Palma Mallorca
- Ave. Duration
- 5h 15m
- When
- Monday
- Estimated price
- €55–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Bologna Guglielmo Marconi Airport
- Ave. Duration
- 2h 25m
- When
- Monday, Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €50–150
- Website
- ita-airways.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- €35–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport via Valencia
- Ave. Duration
- 4h 5m
- When
- Monday, Tuesday, Friday, and Sunday
- Estimated price
- €35–110
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport via Palma Mallorca
- Ave. Duration
- 5h
- When
- Saturday
- Estimated price
- €60–180
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- €35–160
- Website
- flyulendo.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- €29–130
- Website
- volotea.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport via Olbia
- Ave. Duration
- 4h 10m
- When
- Friday
- Estimated price
- €60–240
Flights from Adolfo Suárez Madrid–Barajas Airport to Raffaello Sanzio Airport
- Ave. Duration
- 2h 25m
- When
- Thursday and Sunday
- Estimated price
- €26–230
- Website
- lufthansa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Raffaello Sanzio Airport via Munich
- Ave. Duration
- 5h 15m
- When
- Monday
- Estimated price
- €100–430
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 2h 11m
- Frequency
- Every 4 hours
- Estimated price
- €15–20
- Website
- https://www.trenitalia.com/en.html
Train from Lyon Part Dieu to Torino Porta Susa
- Ave. Duration
- 3h 57m
- Frequency
- Twice daily
- Estimated price
- €50–130
- Website
- https://www.trenitalia.com/en.html
Train from Roma Termini to Foligno
- Ave. Duration
- 1h 56m
- Frequency
- Hourly
- Estimated price
- €12–25
- Website
- https://www.trenitalia.com/en.html
Train from Pisa Centrale to Firenze S.M.N.
- Ave. Duration
- 1h 22m
- Frequency
- Every 30 minutes
- Estimated price
- €9–24
- Website
- https://www.trenitalia.com/en.html
Train from Jesi to Foligno
- Ave. Duration
- 1h 20m
- Frequency
- Every 3 hours
- Estimated price
- €11
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 25m
- Frequency
- Once daily
- Estimated price
- €11–22
- Website
- https://www.trenitalia.com/en.html
Train from Roma Termini to Foligno
- Ave. Duration
- 1h 54m
- Frequency
- 3 times a day
- Estimated price
- €9–21
- Website
- https://www.trenitalia.com/en.html
Train from Jesi to Foligno
- Ave. Duration
- 1h 25m
- Frequency
- Twice daily
- Estimated price
- €8–11
- Website
- https://www.trenitalia.com/en.html
- 2nd Class
- €8–11
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 31m
- Frequency
- 6 times a week
- Estimated price
- €16–35
- Schedules at
- trenitalia.com
Train from Torino Porta Susa to Perugia
- Ave. Duration
- 4h 45m
- Frequency
- 6 times a week
- Estimated price
- €55–100
- Schedules at
- trenitalia.com
Train from Roma Termini to Foligno
- Ave. Duration
- 1h 42m
- Frequency
- Once daily
- Estimated price
- €24–35
- Schedules at
- trenitalia.com
Train from Milano P.Garibaldi to Perugia
- Ave. Duration
- 3h 42m
- Frequency
- 6 times a week
- Estimated price
- €40–80
- Schedules at
- trenitalia.com
Train from Jesi to Foligno
- Ave. Duration
- 1h 14m
- Frequency
- Once daily
- Estimated price
- €11–50
- Schedules at
- trenitalia.com
- Super Economy
- €11–16
- Base Standard
- €26–35
- Base Premium
- €30–50
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 2h 37m
- Frequency
- Hourly
- Estimated price
- €35–130
- Website
- https://www.renfe.com/es/en
- Phone
- +34 900 926 851
- atencion.cliente@iryo.eu
- Website
- iryo.eu
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 2h 57m
- Frequency
- Hourly
- Estimated price
- €35–100
- Website
- https://iryo.eu/en/home
- Phone
- +34 910 780 990
- Website
- ouigo.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 2m
- Frequency
- Every 4 hours
- Estimated price
- €29–65
- Website
- https://www.ouigo.com/es/en
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 4m
- Frequency
- Twice daily
- Estimated price
- €45–65
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Once daily
- Estimated price
- €50–75
- Website
- https://www.renfe.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Marseille St Charles
- Ave. Duration
- 8h 15m
- Frequency
- Once daily
- Estimated price
- €90–130
- Website
- https://www.renfe.com/es/en
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Bologna Centrale to Florence Santa Maria Novella
- Ave. Duration
- 36 min
- Frequency
- Hourly
- Estimated price
- €13–35
- Website
- https://www.italotreno.it/en
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Madrid to Genoa
- Ave. Duration
- 21h
- Frequency
- Once daily
- Estimated price
- €65–140
- Website
- https://www.flixbus.co.uk
Bus from Genoa to Florence Villa Constanza Bus Station
- Ave. Duration
- 2h 40m
- Frequency
- Every 2 hours
- Estimated price
- €8–20
- Website
- https://www.flixbus.co.uk
Bus from Florence Villa Constanza Bus Station to Perugia
- Ave. Duration
- 1h 50m
- Frequency
- Every 4 hours
- Estimated price
- €8–14
- Website
- https://www.flixbus.co.uk
Bus from Marseille, Gare de Marseille-Saint-Charles to Florence
- Ave. Duration
- 9h 5m
- Frequency
- Once daily
- Estimated price
- €29–65
- Website
- https://www.flixbus.co.uk
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Genoa to Florence Villa Constanza Bus Station
- Ave. Duration
- 3h 50m
- Frequency
- 3 times a week
- Estimated price
- €7–28
- Website
- https://www.itabus.it/en/home
Bus from Milano, Autostazione Lampugnano to Perugia Train Station Bus Stop
- Ave. Duration
- 6h 40m
- Frequency
- 6 times a week
- Estimated price
- €12–35
- Website
- https://www.itabus.it/en/home
- Phone
- 07001 8282
- booking@union-ivkoni.com
- Website
- union-ivkoni.com
Bus from Madrid Mendez Alvaro Estacion Sur to Milano, Autostazione Lampugnano
- Ave. Duration
- 24h 30m
- Frequency
- 3 times a week
- Estimated price
- €70–100
- Website
- https://union-ivkoni.com/en
Want to know more about travelling around Italy
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Italy Travel Guides
Read the travel guide
5 incredible day trips from Florence by train
Read the travel guide
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
More Questions & Answers
Madrid to Perugia bus services, operated by FlixBus, arrive at Genoa station.
Madrid to Perugia train services, operated by Renfe AVE, arrive at Barcelona-Sants station.
Yes, the driving distance between Madrid to Perugia is 1792 km. It takes approximately 17h 45m to drive from Madrid to Perugia.
Book your Madrid to Perugia train tickets online with Omio.
Book your Madrid to Perugia bus tickets online with Omio and FlixBus.
There are 1958+ hotels available in Perugia.





































