There are 13 ways to get from Milan to Badajoz by train (Trenitalia, Renfe, Ouigo), bus, car, plane, or train
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train
best- Take the train from Milano Centrale to Lyon Part Dieutrain Fr
- Take the train from Lyon Part Dieu to Barcelona-Santstrain
- Take the train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandestrain Ave
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Badajoztrain Alv
19h 6m€150–363Train to Milano Malpensa Airport, fly to Seville Airport, bus
cheapest- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Seville Airport (SVQ)plane MXP - SVQ
- Take the bus from Sevilla Airport to Badajozbus
10h 13m€44–194Bus via Montpellier
- Take the bus from Milano, Autostazione Lampugnano to Montpellier - Sabines Bus Stationbus BlaBlaCar Bus
- Take the bus from Montpellier - Sabines Bus Station to Badajozbus BlaBlaCar Bus
28h 20m€98–234Drive 1,873 km
- Drive from Milan to Badajozcar 1,873 km
19h 51m€289–417Fly Milan Linate Airport to Badajoz Airport
- Fly from Milan Linate Airport (LIN) to Badajoz Airport (BJZ)plane LIN - BJZ
11h 32m€124–494Bus, train
- Take the bus from Milano, Autostazione Lampugnano to Madrid Mendez Alvaro Estacion Surbus Union Ivkoni - Unibus 3415 / ...
- Take the train from Leganes to Badajoztrain Alv
31h 51m€91–152Bus
- Take the bus from Milan to Genevabus FlixBus 472 / ...
- Take the bus from Geneva - Bus station to Badajozbus
34h 20m€184–287Train to Milano Malpensa Airport, fly to Badajoz Airport
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Badajoz Airport (BJZ)plane MXP - BJZ
9h 3m€71–337Fly Milan Linate Airport to Lisbon-Portela Airport, bus
- Fly from Milan Linate Airport (LIN) to Lisbon-Portela Airport (LIS)plane LIN - LIS
- Take the bus from Estação Rodoviária de Lisboa Oriente to Badajozbus
9h 17m€57–280Train to Milano Malpensa Airport, fly to Lisbon-Portela Airport, bus
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Lisbon-Portela Airport (LIS)plane MXP - LIS
- Take the bus from Estação Rodoviária de Lisboa Oriente to Badajozbus
9h 48m€49–223Bus to Il Caravaggio International Airport, fly to Seville Airport, bus
- Take the bus from Piazza Luigi di Savoia to Bergamo Airport Bus Stationbus
- Fly from Il Caravaggio International Airport (BGY) to Seville Airport (SVQ)plane BGY - SVQ
- Take the bus from Sevilla Airport to Badajozbus
10h 20m€63–226Fly Milan Linate Airport to Adolfo Suárez Madrid–Barajas Airport, train
- Fly from Milan Linate Airport (LIN) to Adolfo Suárez Madrid–Barajas Airport (MAD)plane LIN - MAD
- Take the train from Madrid Chamartín to Badajoztrain
10h 47m€89–265Train to Milano Malpensa Airport, fly to Adolfo Suárez Madrid–Barajas Airport, train
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Adolfo Suárez Madrid–Barajas Airport (MAD)plane MXP - MAD
- Take the train from Madrid Chamartín to Badajoztrain
11h 8m€52–208
Milan to Badajoz by train
Questions & Answers
The cheapest way to get from Milan to Badajoz is to train and fly and bus which costs €40 - €200 and takes 10h 13m.
The fastest way to get from Milan to Badajoz is to train and fly which takes 9h 3m and costs €70 - €340.
No, there is no direct bus from Milan to Badajoz. However, there are services departing from Milano, Autostazione Lampugnano and arriving at Badajoz via Montpellier - Sabines Bus Station. The journey, including transfers, takes approximately 28h 20m.
No, there is no direct train from Milan to Badajoz. However, there are services departing from Milano Centrale and arriving at Badajoz via Lyon Part Dieu, Barcelona-Sants and Madrid-Puerta de Atocha-Almudena Grandes. The journey, including transfers, takes approximately 19h 6m.
The distance between Milan and Badajoz is 2162 km. The road distance is 1873 km.
The best way to get from Milan to Badajoz without a car is to train which takes 19h 6m and costs €150 - €370.
It takes approximately 19h 6m to get from Milan to Badajoz, including transfers.
Milan to Badajoz bus services, operated by BlaBlaCar Bus, depart from Milano, Autostazione Lampugnano station.
Milan to Badajoz train services, operated by Trenitalia, depart from Milano Centrale station.
The best way to get from Milan to Badajoz is to train which takes 19h 6m and costs €150 - €370. Alternatively, you can bus via Montpellier, which costs €95 - €240 and takes 28h 20m, you could also fly, which costs €120 - €500 and takes 11h 32m.
What companies run services between Milan, Italy and Badajoz, Spain?
You can take a train from Milano Centrale to Badajoz via Lyon Part Dieu, Barcelona-Sants, and Madrid-Puerta de Atocha-Almudena Grandes in around 19h 6m. Alternatively, you can take a bus from Milano, Autostazione Lampugnano to Badajoz via Montpellier - Sabines Bus Station in around 28h 20m.
- Website
- iberia.com
Flights from Milan Linate Airport to Badajoz Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 10h 31m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €120–490
Flights from Milano Malpensa Airport to Badajoz Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 6h 25m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €65–410
Flights from Milano Malpensa Airport to Badajoz Airport via Barcelona
- Ave. Duration
- 4h 42m
- When
- Wednesday, Friday, and Sunday
- Estimated price
- €100–410
Flights from Milan Linate Airport to Lisbon-Portela Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 5h 47m
- When
- Every day
- Estimated price
- €85–240
Flights from Milano Malpensa Airport to Lisbon-Portela Airport via Barcelona
- Ave. Duration
- 4h 37m
- When
- Thursday, Friday, and Sunday
- Estimated price
- €40–240
Flights from Milan Linate Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €55–160
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €30–150
- Website
- ryanair.com
Flights from Milano Malpensa Airport to Seville Airport
- Ave. Duration
- 2h 35m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €30–140
Flights from Milano Malpensa Airport to Seville Airport via Palma Mallorca
- Ave. Duration
- 4h 10m
- When
- Sunday
- Estimated price
- €30–140
Flights from Il Caravaggio International Airport to Seville Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €40–170
Flights from Il Caravaggio International Airport to Seville Airport via Palma Mallorca
- Ave. Duration
- 4h 20m
- When
- Monday
- Estimated price
- €40–170
Flights from Il Caravaggio International Airport to Seville Airport via Valencia
- Ave. Duration
- 5h 25m
- When
- Monday
- Estimated price
- €40–170
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- €30–110
- Website
- easyjet.com
Flights from Milan Linate Airport to Lisbon-Portela Airport
- Ave. Duration
- 2h 55m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €40–180
Flights from Milan Linate Airport to Lisbon-Portela Airport via Palma Mallorca
- Ave. Duration
- 6h 15m
- When
- Wednesday
- Estimated price
- €40–180
Flights from Milano Malpensa Airport to Seville Airport
- Ave. Duration
- 2h 40m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- €26–120
Flights from Milano Malpensa Airport to Lisbon-Portela Airport
- Ave. Duration
- 2h 58m
- When
- Every day
- Estimated price
- €30–120
Flights from Milano Malpensa Airport to Lisbon-Portela Airport via Barcelona
- Ave. Duration
- 5h 40m
- When
- Friday
- Estimated price
- €30–120
Flights from Milano Malpensa Airport to Lisbon-Portela Airport via Bordeaux
- Ave. Duration
- 5h 40m
- When
- Sunday
- Estimated price
- €30–120
- Website
- vueling.com
Flights from Milan Linate Airport to Lisbon-Portela Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 5h 36m
- When
- Every day
- Estimated price
- €85–240
Flights from Milano Malpensa Airport to Lisbon-Portela Airport via Barcelona
- Ave. Duration
- 4h 37m
- When
- Thursday, Friday, and Sunday
- Estimated price
- €40–240
Flights from Milan Linate Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €55–160
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €30–150
- Website
- flyulendo.com
Flights from Milano Malpensa Airport to Seville Airport
- Ave. Duration
- 2h 35m
- When
- Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €24–95
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 30m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €23–110
- Website
- flytap.com
Flights from Milano Malpensa Airport to Lisbon-Portela Airport
- Ave. Duration
- 2h 56m
- When
- Every day
- Estimated price
- €55–130
- Website
- aireuropa.com
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €50–200
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Milano Centrale to Lyon Part Dieu
- Ave. Duration
- 4h 44m
- Frequency
- Twice daily
- Estimated price
- €50–110
- Website
- https://www.trenitalia.com/en.html
Rome2Rio's guide to Renfe Viajeros
Contact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Lyon Part Dieu to Barcelona-Sants
- Ave. Duration
- 4h 48m
- Frequency
- Once daily
- Estimated price
- €50–75
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 28m
- Frequency
- Twice daily
- Estimated price
- €45–65
- Website
- https://www.renfe.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Badajoz
- Ave. Duration
- 4h 18m
- Frequency
- 3 times a day
- Estimated price
- €19–70
- Website
- https://www.renfe.com/es/en
Train from Leganes to Badajoz
- Ave. Duration
- 4h
- Frequency
- 3 times a day
- Estimated price
- €19–50
- Website
- https://www.renfe.com/es/en
Train from Madrid Chamartín to Badajoz
- Ave. Duration
- 4h 39m
- Frequency
- 3 times a day
- Estimated price
- €19–70
- Website
- https://www.renfe.com/es/en
Rome2Rio's guide to Renfe AVE
Contact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 2m
- Frequency
- Hourly
- Estimated price
- €35–110
- Website
- https://www.renfe.com/es/en
- Phone
- +34 900 926 851
- atencion.cliente@iryo.eu
- Website
- iryo.eu
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 20m
- Frequency
- Hourly
- Estimated price
- €35–95
- Website
- https://iryo.eu/en/home
- Phone
- +34 910 780 990
- Website
- ouigo.com
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 17m
- Frequency
- Every 4 hours
- Estimated price
- €29–60
- Website
- https://www.ouigo.com/es/en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Milano, Autostazione Lampugnano to Montpellier - Sabines Bus Station
- Ave. Duration
- 10h 5m
- Frequency
- 5 times a day
- Estimated price
- €30–60
- Website
- https://www.blablacar.co.uk/bus
Bus from Montpellier - Sabines Bus Station to Badajoz
- Ave. Duration
- 17h 15m
- Frequency
- Once daily
- Estimated price
- €80–110
- Website
- https://www.blablacar.co.uk/bus
Bus from Estação Rodoviária de Lisboa Oriente to Badajoz
- Ave. Duration
- 2h 55m
- Frequency
- Once daily
- Estimated price
- €17–40
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Milano, Autostazione Lampugnano to Montpellier - Sabines Bus Station
- Ave. Duration
- 11h 25m
- Frequency
- Twice daily
- Estimated price
- €30–65
- Website
- https://www.flixbus.co.uk
Bus from Milan to Geneva
- Ave. Duration
- 5h 20m
- Frequency
- Every 4 hours
- Estimated price
- €22–45
- Website
- https://www.flixbus.co.uk
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Milano, Autostazione Lampugnano to Montpellier - Sabines Bus Station
- Ave. Duration
- 9h 5m
- Frequency
- 5 times a week
- Estimated price
- €18–40
- Website
- https://www.itabus.it/en/home
- Phone
- 07001 8282
- booking@union-ivkoni.com
- Website
- union-ivkoni.com
Bus from Milano, Autostazione Lampugnano to Montpellier - Sabines Bus Station
- Ave. Duration
- 12h
- Frequency
- 3 times a week
- Estimated price
- €26–40
- Website
- https://union-ivkoni.com/en
Bus from Milano, Autostazione Lampugnano to Madrid Mendez Alvaro Estacion Sur
- Ave. Duration
- 26h 30m
- Frequency
- Twice a week
- Estimated price
- €70–100
- Website
- https://union-ivkoni.com/en
- Phone
- +34 910 207 007
- alsa@alsa.es
- Website
- alsa.com
Bus from Montpellier - Sabines Bus Station to Badajoz
- Ave. Duration
- 19h 45m
- Frequency
- Once daily
- Estimated price
- €110–170
- Website
- https://www.alsa.com/en/
Bus from Geneva - Bus station to Badajoz
- Ave. Duration
- 26h 45m
- Frequency
- Twice a week
- Estimated price
- €160–240
- Website
- https://www.alsa.com/en/
Bus from Estação Rodoviária de Lisboa Oriente to Badajoz
- Ave. Duration
- 3h
- Frequency
- Once daily
- Estimated price
- €9–40
- Website
- https://www.alsa.com/en/
- Phone
- 0034902202040
- info@badajozsevillabus.com
- Website
- basebus.es
Bus from Sevilla Airport to Badajoz
- Ave. Duration
- 3h 55m
- Frequency
- Twice daily
- Estimated price
- €14–29
- Website
- https://basebus.es/
- info@flibco.com
- Website
- flibco.com
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €8–10
- Website
- https://www.flibco.com/en
- Phone
- +39 02 3008 9000
- mail@autostradale.it
- Website
- autostradale.it
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 1h
- Frequency
- Every 30 minutes
- Estimated price
- €4–17
- Website
- https://autostradale.it/?lang=en-GB
- Standard Rate
- €13–17
Want to know more about travelling around Spain
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
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
Train travel in Spain: A guide to Renfe
Read the travel guide
What are the different types of Renfe trains in Spain?
Read the travel guide
More Questions & Answers
Milan to Badajoz bus services, operated by BlaBlaCar Bus, arrive at Montpellier - Sabines Bus Station.
Milan to Badajoz train services, operated by Trenitalia, arrive at Lyon Part Dieu station.
Yes, the driving distance between Milan to Badajoz is 1873 km. It takes approximately 19h 51m to drive from Milan to Badajoz.
Book your Milan to Badajoz train tickets online with Omio.
Book your Milan to Badajoz bus tickets online with Omio.
There are 155+ hotels available in Badajoz.

















































