There are 10 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 15m€79–208Fly 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 6m€51–200Train
- 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 45m€241–456Bus
- Take the bus from Madrid to Genoabus
- Take the bus from Genoa to Florence Villa Constanza Bus Stationbus 510 / ...
- Take the bus from Florence to Perugiabus
27h 30m€166–245Drive 1,791.4 km
- Drive from Madrid to Perugiacar 1,791.4 km
17h 47m€293–424Fly 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 Perugiatrain
8h 58m€77–251Fly 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 34m€60–276Fly 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 30m€133–326Train, 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 Florence Villa Constanza Bus Stationbus
- Take the train from Firenze S.M.N. to Perugiatrain
22h 35m€217–328Bus, train
- Take the bus from Méndez Álvaro Estación Sur to Padovabus
- Take the train from Padova to Bologna centraletrain
- Take the bus from Bologna Autostazione to Perugia Train Station Bus Stopbus
33h 22m€151–202
Madrid to Perugia by train
Comparing Your Travel Options
The cheapest way to get from Madrid to Perugia is to fly and train which costs €50 - €200 and takes 9h 6m.
The fastest way to get from Madrid to Perugia is to fly and train which takes 8h 15m and costs €75 - €210.
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. 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 45m.
The distance between Madrid and Perugia is 1437 km. The road distance is 1791.4 km.
The best way to get from Madrid to Perugia without a car is to train which takes 19h 45m and costs €240 - €460.
It takes approximately 8h 15m 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 45m and costs €240 - €460. Alternatively, you can bus, which costs €160 - €250 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 45m. Alternatively, you can take a bus from Madrid to Perugia via Genoa and Florence in around 27h 30m.
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Florence Peretola Airport
- Ave. Duration
- 2h 16m
- When
- Every day
- Estimated price
- €55–200
Flights from Adolfo Suárez Madrid–Barajas Airport to Florence Peretola Airport via Barcelona
- Ave. Duration
- 4h 36m
- When
- Every day
- Estimated price
- €55–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Bologna Guglielmo Marconi Airport
- Ave. Duration
- 2h 23m
- When
- Every day
- Estimated price
- €50–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €40–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport via Barcelona
- Ave. Duration
- 4h 5m
- When
- Sunday
- Estimated price
- €80–270
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 16m
- When
- Every day
- Estimated price
- €55–200
Flights from Adolfo Suárez Madrid–Barajas Airport to Florence Peretola Airport via Barcelona
- Ave. Duration
- 4h 36m
- When
- Every day
- Estimated price
- €55–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Bologna Guglielmo Marconi Airport
- Ave. Duration
- 2h 23m
- When
- Every day
- Estimated price
- €50–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €40–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport via Barcelona
- Ave. Duration
- 4h 5m
- When
- Sunday
- Estimated price
- €80–270
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 Bologna Guglielmo Marconi Airport
- Ave. Duration
- 2h 20m
- When
- Thursday, Friday, Saturday, Sunday, and Monday
- Estimated price
- €45–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Bologna Guglielmo Marconi Airport via Ibiza
- Ave. Duration
- 4h 30m
- When
- Sunday
- Estimated price
- €45–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €50–190
Flights from Adolfo Suárez Madrid–Barajas Airport to Pisa International Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €60–220
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- €55–180
- Website
- ita-airways.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €55–180
- Website
- flyulendo.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- €25–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Pisa International Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- €14–120
- Website
- volotea.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 23m
- When
- Every day
- Estimated price
- €65–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Pisa International Airport via Toulouse
- Ave. Duration
- 3h 55m
- When
- Friday
- Estimated price
- €45–240
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 2h 23m
- Frequency
- Every 4 hours
- Estimated price
- €18–25
- Website
- Trenitalia
Train from Lyon Part Dieu to Torino Porta Susa
- Ave. Duration
- 3h 57m
- Frequency
- Twice daily
- Estimated price
- €35–50
- Website
- Trenitalia
Train from Roma Termini to Foligno
- Ave. Duration
- 1h 47m
- Frequency
- Hourly
- Estimated price
- €17–25
- Website
- Trenitalia
Train from Pisa Centrale to Firenze S.M.N.
- Ave. Duration
- 1h 22m
- Frequency
- Every 30 minutes
- Estimated price
- €9–13
- Website
- Trenitalia
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 2h 23m
- Frequency
- Every 4 hours
- Estimated price
- €18–25
- Website
- Trenitalia
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 2h 23m
- Frequency
- Every 4 hours
- Estimated price
- €18–25
- Website
- Trenitalia
Train from Padova to Bologna centrale
- Ave. Duration
- 1h 36m
- Frequency
- Hourly
- Estimated price
- €14–20
- Website
- Trenitalia
- Phone
- +39 06 68475475
- Website
- Trenitalia Intercity
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 25m
- Frequency
- Once daily
- Estimated price
- €16–30
- Website
- Trenitalia Intercity
Train from Bologna Centrale to Perugia
- Ave. Duration
- 3h 11m
- Frequency
- Once daily
- Estimated price
- €26–50
- Website
- Trenitalia Intercity
Train from Roma Termini to Foligno
- Ave. Duration
- 1h 59m
- Frequency
- 3 times a day
- Estimated price
- €16–29
- Website
- Trenitalia Intercity
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 25m
- Frequency
- Once daily
- Estimated price
- €16–30
- Website
- Trenitalia Intercity
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 25m
- Frequency
- Once daily
- Estimated price
- €16–30
- Website
- Trenitalia Intercity
Train from Padova to Bologna centrale
- Ave. Duration
- 1h 31m
- Frequency
- Twice daily
- Estimated price
- €13–24
- Website
- Trenitalia Intercity
- Phone
- +39 06 5210550
- Website
- Trenitalia Frecce
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 31m
- Frequency
- 6 times a week
- Estimated price
- €20–35
- Website
- Trenitalia Frecce
Train from Torino Porta Susa to Perugia
- Ave. Duration
- 4h 40m
- Frequency
- 6 times a week
- Estimated price
- €80–140
- Website
- Trenitalia Frecce
Train from Bologna Centrale to Perugia
- Ave. Duration
- 2h 18m
- Frequency
- 6 times a week
- Estimated price
- €30–60
- Website
- Trenitalia Frecce
Train from Roma Termini to Foligno
- Ave. Duration
- 1h 42m
- Frequency
- Once daily
- Estimated price
- €20–35
- Website
- Trenitalia Frecce
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 31m
- Frequency
- 6 times a week
- Estimated price
- €20–35
- Website
- Trenitalia Frecce
Train from Milano P.Garibaldi to Perugia
- Ave. Duration
- 3h 42m
- Frequency
- 6 times a week
- Estimated price
- €60–110
- Website
- Trenitalia Frecce
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 1h 31m
- Frequency
- 6 times a week
- Estimated price
- €20–35
- Website
- Trenitalia Frecce
Train from Padova to Bologna centrale
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €17–29
- Website
- Trenitalia Frecce
- Phone
- +34 91 232 03 20
- Website
- Renfe AVE
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 2m
- Frequency
- Hourly
- Estimated price
- €85–150
- Website
- Renfe AVE
- Phone
- +34 900 926 851
- [email protected]
- Website
- Iryo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 24m
- Frequency
- Hourly
- Estimated price
- €55–100
- Website
- Iryo
- Phone
- +34 900 759 781
- Website
- Ouigo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 23m
- Frequency
- Every 4 hours
- Estimated price
- €45–80
- Website
- Ouigo
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 29m
- Frequency
- Twice daily
- Estimated price
- €75–110
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Once daily
- Estimated price
- €80–120
- Website
- Renfe Viajeros
Train from Madrid-Puerta de Atocha-Almudena Grandes to Marseille St Charles
- Ave. Duration
- 8h 42m
- Frequency
- Once daily
- Estimated price
- €140–210
- Website
- Renfe Viajeros
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Padova to Bologna centrale
- Ave. Duration
- 1h 4m
- Frequency
- Hourly
- Estimated price
- €14–24
- Website
- Italo Treno
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Madrid to Genoa
- Ave. Duration
- 21h
- Frequency
- Once daily
- Estimated price
- €130–200
- Website
- Flixbus
Bus from Genoa to Florence Villa Constanza Bus Station
- Ave. Duration
- 2h 40m
- Frequency
- Every 4 hours
- Estimated price
- €20–30
- Website
- Flixbus
Bus from Florence to Perugia
- Ave. Duration
- 1h 50m
- Frequency
- Twice daily
- Estimated price
- €13–20
- Website
- Flixbus
Bus from Marseille, Gare de Marseille-Saint-Charles to Florence Villa Constanza Bus Station
- Ave. Duration
- 9h 5m
- Frequency
- Once daily
- Estimated price
- €55–85
- Website
- Flixbus
- Phone
- +4-0263-21.55.00
- Website
- tabitatour.ro
Bus from Méndez Álvaro Estación Sur to Padova
- Ave. Duration
- 27h 34m
- Frequency
- Once a week
- Estimated price
- €120–160
- Schedules at
- tabitatour.ro
- Phone
- +39 06 88 93 82 32
- Website
- Itabus S.p.A.
Bus from Bologna Autostazione to Perugia Train Station Bus Stop
- Ave. Duration
- 3h 20m
- Frequency
- Once daily
- Estimated price
- €12–22
- Website
- Itabus S.p.A.
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
Booking & Getting There
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 1791 km. It takes approximately 17h 47m 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 2141+ hotels available in Perugia.

































