There are 13 ways to get from Madrid to Italy by plane, train (Renfe, Ouigo, Trenitalia), train, ferry, bus, train (Renfe, Ouigo, TGV, Trenitalia), 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 Milan Linate Airport
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Milan Linate Airport (LIN)plane MAD - LIN
4h 38m€68–195Fly to Milano Malpensa Airport, train
cheapest- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Milano Malpensa Airport (MXP)plane MAD - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Cadornatrain
5h 21m€33–158Train
- 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 Milano Centraletrain Fr
- Take the train from Milano Centrale to Roma Terminitrain Fr / ...
18h 13m€140–360Train, ferry
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain Ave
- Take the ferry from Port de Barcelona to Port of Civitavecchiaferry
- Take the train from Civitavecchia to Roma Terminitrain Re
27h 23m€75–171Bus
- Take the bus from Madrid, Avenida de América to Barcelona, Estació d'Autobusos Nordbus Alsa
- Take the bus from Barcelona - North Bus Station to Roma, Autostazione Tiburtinabus BlaBlaCar Bus
29h 34m€131–227Fly to Florence Peretola Airport
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Florence Peretola Airport (FLR)plane MAD - FLR
4h 50m€59–164Fly to Bologna Guglielmo Marconi Airport
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Bologna Guglielmo Marconi Airport (BLQ)plane MAD - BLQ
4h 47m€52–172Fly to Fiumicino International Airport
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Fiumicino International Airport (FCO)plane MAD - FCO
5h 22m€35–138Fly to Naples Airport
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Naples Airport (NAP)plane MAD - NAP
5h 7m€58–187Fly to Turin Caselle Airport
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Turin Caselle Airport (TRN)plane MAD - TRN
5h 24m€61–199Train via Saint-Marcel-lès-Valence
- 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 Milano Centraletrain Fr
- Take the train from Milano Centrale to Roma Terminitrain Fr / ...
19h 1m€155–493Bus, train
- Take the bus from Méndez Álvaro Estación Sur to Padovabus
- Take the train from Padova to Roma Terminitrain 8929 / ...
31h 59m€127–159Drive 1,911.7 km
- Drive from Madrid to Romecar 1,911.7 km
18h 45m€296–427
Madrid to Italy by train
Questions & Answers
The cheapest way to get from Madrid to Italy is to fly which costs €30 - €140 and takes 5h 22m.
The fastest way to get from Madrid to Italy is to fly which takes 4h 38m and costs €65 - €200.
No, there is no direct bus from Madrid to Italy. However, there are services departing from Madrid, Avenida de América and arriving at Termini via Barcelona - North Bus Station and Roma, Autostazione Tiburtina. The journey, including transfers, takes approximately 29h 34m.
No, there is no direct train from Madrid to Italy. However, there are services departing from Madrid-Puerta de Atocha-Almudena Grandes and arriving at Roma Termini via Barcelona-Sants, Lyon Part Dieu and Milano Centrale. The journey, including transfers, takes approximately 18h 13m.
The distance between Madrid and Italy is 1199 km. The road distance is 1911.7 km.
The best way to get from Madrid to Italy without a car is to train which takes 18h 13m and costs €140 - €360.
It takes approximately 4h 38m to get from Madrid to Italy, including transfers.
Madrid to Italy bus services, operated by ALSA, depart from Madrid, Avenida de América station.
Madrid to Italy train services, operated by Renfe AVE, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
The best way to get from Madrid to Italy is to fly which takes 4h 38m and costs €65 - €200. Alternatively, you can train, which costs €140 - €360 and takes 18h 13m, you could also bus, which costs €130 - €230 and takes 29h 34m.
What companies run services between Madrid, Spain and Italy?
Iberia, Air Europa, and ITA Airways fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Milan Linate Airport (LIN) 4 times a day. Alternatively, you can take a train from Madrid-Puerta de Atocha-Almudena Grandes to Roma Termini via Barcelona-Sants, Lyon Part Dieu, and Milano Centrale in around 18h 13m.
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €55–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Florence Peretola Airport
- Ave. Duration
- 2h 17m
- When
- Every day
- Estimated price
- €50–200
Flights from Adolfo Suárez Madrid–Barajas Airport to Florence Peretola Airport via Barcelona
- Ave. Duration
- 4h 12m
- When
- Monday, Tuesday, Thursday, Friday, and Sunday
- Estimated price
- €50–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Bologna Guglielmo Marconi Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €55–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Bologna Guglielmo Marconi Airport via Barcelona
- Ave. Duration
- 4h 45m
- When
- Friday
- Estimated price
- €90–200
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 Naples Airport
- Ave. Duration
- 2h 32m
- When
- Every day
- Estimated price
- €55–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- €30–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Turin Caselle Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €65–190
Flights from Adolfo Suárez Madrid–Barajas Airport to Turin Caselle Airport via Barcelona
- Ave. Duration
- 3h 55m
- When
- Monday, Wednesday, and Friday
- Estimated price
- €75–170
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €55–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Florence Peretola Airport
- Ave. Duration
- 2h 17m
- When
- Every day
- Estimated price
- €50–200
Flights from Adolfo Suárez Madrid–Barajas Airport to Florence Peretola Airport via Barcelona
- Ave. Duration
- 4h 12m
- When
- Monday, Tuesday, Thursday, Friday, and Sunday
- Estimated price
- €50–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Bologna Guglielmo Marconi Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €55–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Bologna Guglielmo Marconi Airport via Barcelona
- Ave. Duration
- 4h 45m
- When
- Friday
- Estimated price
- €90–200
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 Naples Airport
- Ave. Duration
- 2h 32m
- When
- Every day
- Estimated price
- €55–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- €30–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Turin Caselle Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €65–190
Flights from Adolfo Suárez Madrid–Barajas Airport to Turin Caselle Airport via Barcelona
- Ave. Duration
- 3h 55m
- When
- Monday, Wednesday, and Friday
- Estimated price
- €75–170
- Website
- ryanair.com
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
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €50–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport via Palma Mallorca
- Ave. Duration
- 4h 25m
- When
- Tuesday and Thursday
- Estimated price
- €50–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Naples Airport
- Ave. Duration
- 2h 35m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €55–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- €30–110
Flights from Adolfo Suárez Madrid–Barajas Airport to Turin Caselle Airport
- Ave. Duration
- 2h 10m
- When
- Monday, Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €50–180
- Website
- ita-airways.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport via Palma Mallorca
- Ave. Duration
- 5h
- When
- Saturday
- Estimated price
- €65–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- €40–120
- Website
- aireuropa.com
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 Milano Malpensa Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €50–200
- 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–120
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 15m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €23–120
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 2m
- Frequency
- Hourly
- Estimated price
- €50–75
- Website
- https://www.renfe.com/es/en
- Básico
- €50–75
- 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
- 3h 20m
- Frequency
- Hourly
- Estimated price
- €27–85
- Website
- https://iryo.eu/en/home
- Inicial
- €27–85
- Phone
- +34 910 780 990
- Website
- ouigo.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 28m
- Frequency
- 5 times a day
- Estimated price
- €25–80
- 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 29m
- 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 Barcelona-Sants to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 4h 28m
- Frequency
- Once daily
- Estimated price
- €45–60
- Website
- https://www.renfe.com/es/en
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Lyon Part Dieu to Milano Centrale
- Ave. Duration
- 4h 44m
- Frequency
- Twice daily
- Estimated price
- €25–40
- Website
- https://www.trenitalia.com/en.html
Train from Civitavecchia to Roma Termini
- Ave. Duration
- 1h 20m
- Frequency
- Hourly
- Estimated price
- €6–9
- Website
- https://www.trenitalia.com/en.html
Train from Chambery Challes Les Eaux to Milano Centrale
- Ave. Duration
- 3h 21m
- Frequency
- Twice daily
- Estimated price
- €19–28
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Centrale to Roma Termini
- Ave. Duration
- 3h 12m
- Frequency
- Every 30 minutes
- Estimated price
- €80–160
- Schedules at
- trenitalia.com
Train from Civitavecchia to Roma Termini
- Ave. Duration
- 47 min
- Frequency
- 5 times a day
- Estimated price
- €11–22
- Schedules at
- trenitalia.com
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Milano Centrale to Roma Termini
- Ave. Duration
- 3h 39m
- Frequency
- Hourly
- Estimated price
- €40–95
- Website
- https://www.italotreno.it/en
- Smart Economy
- €70–95
- Smart Flex
- €75–95
Train from Padova to Roma Termini
- Ave. Duration
- 3h 25m
- Frequency
- Every 2 hours
- Estimated price
- €65–85
- Website
- https://www.italotreno.it/en
- Smart Economy
- €65–85
- Smart Flex
- €70–85
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Civitavecchia to Roma Termini
- Ave. Duration
- 1h 7m
- Frequency
- 3 times a day
- Estimated price
- €7–18
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Malpensa Aeroporto T1 to Milano Cadorna
- Ave. Duration
- 39 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +33 1 84 94 36 35
- Website
- sncf-connect.com
Train from Barcelona-Sants to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 4h 24m
- Frequency
- Twice daily
- Estimated price
- €90–160
- Website
- https://www.sncf-connect.com/en-en
- 2nd Class
- €90–120
- 1st Class
- €120–160
- Phone
- +33 1 84 94 36 35
- Website
- track.effiliation.com
Train from Valence Tgv Rhone-Alpes Sud to Chambery Challes Les Eaux
- Ave. Duration
- 1h 53m
- Frequency
- Every 2 hours
- Estimated price
- €26–60
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- 2nd Class
- €26–40
- Rail 1st Class
- €40–60
- Phone
- +34 910 207 007
- alsa@alsa.es
- Website
- alsa.com
Bus from Madrid, Avenida de América to Barcelona, Estació d'Autobusos Nord
- Ave. Duration
- 8h 5m
- Frequency
- Every 3 hours
- Estimated price
- €50–100
- Website
- https://www.alsa.com/en/
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Barcelona - North Bus Station to Roma, Autostazione Tiburtina
- Ave. Duration
- 20h
- Frequency
- Twice daily
- Estimated price
- €80–120
- Website
- https://www.blablacar.co.uk/bus
- 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
- €60–75
- Schedules at
- tabitatour.ro
- Phone
- +39.081.496.444
- info@grimaldi.napoli.it
- Website
- grimaldi-lines.com
Ferry from Port de Barcelona to Port of Civitavecchia
- Ave. Duration
- 20h
- Frequency
- 5 times a week
- Estimated price
- €40–60
- Website
- https://www.grimaldi-lines.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
Getting to Milan from the airport
Read the travel guide
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
More Questions & Answers
Madrid to Italy bus services, operated by ALSA, arrive at Barcelona, Estació d'Autobusos Nord station.
Madrid to Italy train services, operated by Renfe AVE, arrive at Barcelona-Sants station.
Yes, the driving distance between Madrid to Italy is 1912 km. It takes approximately 18h 45m to drive from Madrid to Italy.
Book your Madrid to Italy train tickets online with Omio.
There are 21498+ hotels available in Italy.



























































