There are 11 ways to get from Madrid to Perugia by plane, train, train (Renfe, Ouigo, TGV, Trenitalia), bus, car, or train (Renfe, TGV, Trenitalia)
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
7h 53m€79–203Fly 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 Perugiatrain
8h 40m€52–187Train via Barcelona
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain Ave
- Take the train from Barcelona-Sants to Valence Tgv Rhone-Alpes Sudtrain Tgv
- Take the train from Valence Tgv Rhone-Alpes Sud to Chambery Challes Les Eauxtrain Ter
- Take the train from Chambery Challes Les Eaux to Torino Porta Susatrain Tgv
- Take the train from Torino Porta Susa to Perugiatrain Fr
20h 3m€246–567Bus
- Take the bus from Madrid to Genoabus
- Take the bus from Genoa - Via Fanti d'Italia Bus Stop to Florence - Villa Costanzabus 18
- Take the bus from Florence to Perugiabus
27h 35m€147–224Drive 1,791.4 km
- Drive from Madrid to Perugiacar 1,791.4 km
17h 47m€292–422Fly 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
8h 2m€81–306Fly 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 Firenze S.M.N.train
- Take the train from Firenze S.M.N. to Perugiatrain
8h 28m€81–253Fly 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 5m€76–281Fly to Venice Marco Polo Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Venice Marco Polo Airport (VCE)plane MAD - VCE
- Take the train from Venezia Mestre to Firenze S.M.N.train
- Take the train from Firenze S.M.N. to Perugiatrain
10h 27m€81–263Train
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Marseille St Charlestrain
- Take the train from Marseille St Charles to Nice Villetrain Tgv
- Take the train from Ventimiglia to Pisa Centraletrain Ic
- Take the train from Pisa Centrale to Firenze S.M.N.train Re
- Take the train from Firenze S.M.N. to Perugiatrain
22h 42m€250–413Bus, train
- Take the bus from Méndez Álvaro Estación Sur to Padovabus
- Take the train from Padova to Bologna Centraletrain Fr
- Take the bus from Bologna Autostazione to Perugia Train Station Bus Stopbus
33h 17m€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 - €190 and takes 8h 40m.
The fastest way to get from Madrid to Perugia is to fly and train which takes 7h 53m 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 - Via Fanti d'Italia Bus Stop and Florence. The journey, including transfers, takes approximately 27h 35m.
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, Valence Tgv Rhone-Alpes Sud, Chambery Challes Les Eaux and Torino Porta Susa. The journey, including transfers, takes approximately 20h 3m.
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 via Barcelona which takes 20h 3m and costs €240 - €600.
It takes approximately 7h 53m 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 via Barcelona which takes 20h 3m and costs €240 - €600. Alternatively, you can bus, which costs €140 - €230 and takes 27h 35m.
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, Valence Tgv Rhone-Alpes Sud, Chambery Challes Les Eaux, and Torino Porta Susa in around 20h 3m. Alternatively, you can take a bus from Madrid to Perugia via Genoa, Genoa - Via Fanti d'Italia Bus Stop, Florence - Villa Costanza, and Florence in around 27h 35m.
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Florence Peretola Airport
- Ave. Duration
- 2h 22m
- When
- Every day
- Estimated price
- €60–200
Flights from Adolfo Suárez Madrid–Barajas Airport to Florence Peretola Airport via Barcelona
- Ave. Duration
- 4h 8m
- When
- Every day
- Estimated price
- €60–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- €40–120
Flights from Adolfo Suárez Madrid–Barajas Airport to Bologna Guglielmo Marconi Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €50–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Bologna Guglielmo Marconi Airport via Barcelona
- Ave. Duration
- 4h 37m
- When
- Thursday
- Estimated price
- €45–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Venice Marco Polo Airport
- Ave. Duration
- 2h 27m
- When
- Every day
- Estimated price
- €55–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Venice Marco Polo Airport via Barcelona
- Ave. Duration
- 4h
- When
- Monday and Thursday
- Estimated price
- €60–150
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 2h 11m
- Frequency
- Every 2 hours
- Estimated price
- €17–25
- Website
- Trenitalia
Train from Chambery Challes Les Eaux to Torino Porta Susa
- Ave. Duration
- 2h 34m
- Frequency
- 4 times a day
- Estimated price
- €23–35
- Website
- Trenitalia
Train from Roma Termini to Perugia
- Ave. Duration
- 2h 38m
- Frequency
- Every 3 hours
- Estimated price
- €22–35
- Website
- Trenitalia
Train from Jesi to Foligno
- Ave. Duration
- 1h 20m
- Frequency
- Hourly
- Estimated price
- €12–17
- Website
- Trenitalia
Train from Bologna Centrale to Firenze S.M.N.
- Ave. Duration
- 1h 35m
- Frequency
- 4 times a day
- Estimated price
- €10–15
- Website
- Trenitalia
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 2h 11m
- Frequency
- Every 2 hours
- Estimated price
- €17–25
- Website
- Trenitalia
Train from Pisa Centrale to Firenze S.M.N.
- Ave. Duration
- 1h 22m
- Frequency
- Every 15 minutes
- Estimated price
- €9–13
- Website
- Trenitalia
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 2h 11m
- Frequency
- Every 2 hours
- Estimated price
- €17–25
- Website
- Trenitalia
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 2h 11m
- Frequency
- Every 2 hours
- Estimated price
- €17–25
- Website
- Trenitalia
Train from Pisa Centrale to Firenze S.M.N.
- Ave. Duration
- 1h 22m
- Frequency
- Every 15 minutes
- Estimated price
- €9–13
- Website
- Trenitalia
Train from Firenze S.M.N. to Perugia
- Ave. Duration
- 2h 11m
- Frequency
- Every 2 hours
- Estimated price
- €17–25
- Website
- Trenitalia
Train from Padova to Bologna Centrale
- Ave. Duration
- 1h 36m
- Frequency
- Hourly
- Estimated price
- €14–20
- Website
- Trenitalia
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Madrid to Genoa
- Ave. Duration
- 21h
- Frequency
- Once daily
- Estimated price
- €120–190
- Website
- Flixbus
Bus from Florence to Perugia
- Ave. Duration
- 1h 50m
- Frequency
- Once daily
- Estimated price
- €12–19
- Website
- Flixbus
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.
There are 2129+ hotels available in Perugia.






