• Our partners include:

  • RailEurope
  • Deutsche Bahn
  • Trenitalia
  • SNCF
  • Flixbus
  • RENFE
  • Ouibus
  • BlaBlaCar
  • Booking.com
  • Skyscanner

There are 10 ways to get from Milan to Spain by plane, train, 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.

Recommended option

Fly Milan Malpensa to Barcelona  •  4 h 54 min

  1. Fly from Milan Malpensa (MXP) to Barcelona (BCN) MXP - BCN

$44 - $204

Cheapest option

Fly Milan Bergamo to Barcelona  •  5 h 17 min

  1. Fly from Milan Bergamo (BGY) to Barcelona (BCN) BGY - BCN

$31 - $249

8 alternative options

Fly Milan Linate to Madrid  •  5 h 7 min

  1. Fly from Milan Linate (LIN) to Madrid (MAD) LIN - MAD

$70 - $277

Fly Milan Malpensa to Valencia  •  4 h 55 min

  1. Fly from Milan Malpensa (MXP) to Valencia (VLC) MXP - VLC

$79 - $160

Fly Milan Malpensa to Madrid  •  5 h 24 min

  1. Fly from Milan Malpensa (MXP) to Madrid (MAD) MXP - MAD

$66 - $231

Fly Milan Bergamo to Valencia  •  5 h 13 min

  1. Fly from Milan Bergamo (BGY) to Valencia (VLC) BGY - VLC

$37 - $565

Train via Barcelona Sants  •  15 h 36 min

  1. Take the train from Milano Centrale Station to Torino Porta Susa
  2. Take the train from Torino Porta Susa to Lyon Part Dieu Tgv
  3. Take the train from Lyon Part Dieu to Barcelona Sants Ave
  4. Take the train from Barcelona Sants to Madrid-Puerta de Atocha Ave / ...

$242 - $330

Train  •  16 h 18 min

  1. Take the train from Milano Centrale to Marseille-Saint-Charles Ec
  2. Take the train from Marseille-St-Charles to Madrid-Puerta de Atocha Ave

$212 - $312

Bus  •  27 h 16 min

  1. Take the bus from Milano to Madrid

$65 - $105

Drive  •  14 h 58 min

  1. Drive from Milan to Madrid 984.6 miles

$230 - $350

Questions & Answers

The cheapest way to get from Milan to Spain is to fly which costs 26€ - 220€ and takes 5 h 17 min.

More details

The quickest way to get from Milan to Spain is to fly which costs 35€ - 180€ and takes 4 h 54 min.

More details

No, there is no direct bus from Milan to Spain. However, there are services departing from Milano and arriving at Neptuno via Méndez Álvaro - Terminal. The journey, including transfers, takes approximately 27 h 16 min.

More details

The distance between Milan and Spain is 1235 km. The road distance is 1575.4 km.

Get driving directions

The best way to get from Milan to Spain without a car is to train which takes 15 h 36 min and costs 210€ - 290€.

More details

It takes approximately 4 h 54 min to get from Milan to Spain, including transfers.

More details

Milan to Spain bus services, operated by Union Ivkoni, depart from Milano station.

More details

The best way to get from Milan to Spain is to fly which takes 4 h 54 min and costs 35€ - 180€. Alternatively, you can train, which costs 210€ - 290€ and takes 15 h 36 min, you could also bus, which costs 55€ - 95€ and takes 27 h 16 min.

Mode details

The quickest flight from Milan Malpensa Airport to Barcelona Airport is the direct flight which takes 1 h 30 min.

Search flights

Milan to Spain bus services, operated by Union Ivkoni, arrive at Madrid station.

More details

Map of how to get from Milan to Spain.
Launch map view
  • Distance: 771.6 miles
  • Duration: 4 h 54 min

What companies run services between Milan, Italy and Spain?

easyJet, Vueling Airlines and two other airlines fly from Milan to Barcelona every 3 hours. Alternatively, you can take a train from Milan to Madrid via Torino Porta Susa, Lyon Part Dieu, Barcelona Sants, Madrid-Puerta de Atocha, and Atocha-Renfe in around 15 h 36 min.

Airlines
Iberia
Website
iberia.com
Flights from Milan Malpensa to Barcelona
Ave. Duration
1 h 35 min
When
Every day
Estimated price
$35 - $340
Flights from Milan Linate to Madrid
Ave. Duration
2 h 20 min
When
Every day
Estimated price
$90 - $480
Flights from Milan Malpensa to Madrid
Ave. Duration
2 h 15 min
When
Every day
Estimated price
$90 - $490
Flights from Milan Malpensa to Madrid via Barcelona
Ave. Duration
4 h 10 min
When
Every day
Estimated price
$85 - $390
easyJet
Website
easyjet.com
Flights from Milan Malpensa to Barcelona
Ave. Duration
1 h 31 min
When
Every day
Estimated price
$40 - $280
Flights from Milan Malpensa to Madrid
Ave. Duration
2 h 25 min
When
Every day
Estimated price
$60 - $310
Flights from Milan Malpensa to Madrid via Paris CDG
Ave. Duration
4 h 40 min
When
Monday and Friday
Estimated price
$60 - $310
Alitalia
Website
alitalia.com
Flights from Milan Linate to Madrid
Ave. Duration
2 h 15 min
When
Every day
Estimated price
$130 - $550
Flights from Milan Linate to Madrid via Rome
Ave. Duration
4 h 32 min
When
Monday to Saturday
Estimated price
$130 - $550
Flights from Milan Malpensa to Madrid
Ave. Duration
2 h 20 min
When
Every day
Estimated price
$65 - $430
Flights from Milan Malpensa to Madrid via Rome
Ave. Duration
4 h 50 min
When
Monday, Wednesday, Thursday, Friday, Saturday and Sunday
Estimated price
$110 - $480
Swiss
Website
swiss.com
Flights from Milan Malpensa to Barcelona via Zurich
Ave. Duration
3 h 52 min
When
Every day
Estimated price
$190 - $750
Flights from Milan Malpensa to Valencia via Zurich
Ave. Duration
4 h 25 min
When
Every day
Estimated price
$220 - $470
Flights from Milan Malpensa to Madrid via Zurich
Ave. Duration
4 h 28 min
When
Every day
Estimated price
$180 - $900
Ryanair
Website
ryanair.com
Flights from Milan Malpensa to Valencia
Ave. Duration
1 h 55 min
When
Every day
Estimated price
$95 - $190
Flights from Milan Bergamo to Barcelona
Ave. Duration
1 h 40 min
When
Every day
Estimated price
$28 - $270
Flights from Milan Bergamo to Valencia
Ave. Duration
2 h
When
Every day
Estimated price
$30 - $440
Vueling Airlines
Website
vueling.com
Flights from Milan Malpensa to Barcelona
Ave. Duration
1 h 35 min
When
Every day
Estimated price
$35 - $340
Flights from Milan Malpensa to Madrid via Barcelona
Ave. Duration
4 h 10 min
When
Every day
Estimated price
$85 - $390
Air France
Website
airfrance.com
Flights from Milan Linate to Madrid via Paris CDG
Ave. Duration
4 h 37 min
When
Every day
Estimated price
$180 - $700
Flights from Milan Malpensa to Madrid via Paris CDG
Ave. Duration
4 h 42 min
When
Every day
Estimated price
$170 - $1,900
Lufthansa
Website
lufthansa.com
Flights from Milan Linate to Madrid via Frankfurt
Ave. Duration
5 h 5 min
When
Every day
Estimated price
$180 - $800
Flights from Milan Malpensa to Valencia via Frankfurt
Ave. Duration
4 h 45 min
When
Every day
Estimated price
$150 - $600
Flights from Milan Malpensa to Valencia via Munich
Ave. Duration
4 h 50 min
When
Monday to Friday
Estimated price
$150 - $600
Air Europa
Website
aireuropa.com
Flights from Milan Malpensa to Madrid
Ave. Duration
2 h 20 min
When
Every day
Estimated price
$65 - $430
Brussels Airlines
Website
brusselsairlines.com
Flights from Milan Linate to Madrid via Brussels
Ave. Duration
4 h 47 min
When
Monday to Saturday
Estimated price
$90 - $550
Singapore Airlines
Website
singaporeair.com
Flights from Milan Malpensa to Barcelona
Ave. Duration
1 h 35 min
When
Wednesday, Thursday and Sunday
Estimated price
$150 - $650
Train operators
ItaloTreno
Phone
+39 060708
Website
italotreno.it
Train from Milano Centrale Station to Torino Porta Susa
Ave. Duration
48 min
Frequency
Hourly
Estimated price
$20 - $29
Website
italotreno.it
inOui TGV
Phone
0033 892 353535
Website
en.oui.sncf
Train from Torino Porta Susa to Lyon Part Dieu
Ave. Duration
4 h 17 min
Frequency
4 times a week
Estimated price
$60 - $70
Website
en.oui.sncf
2nd Class
$60 - $70
1st Class
$85 - $120
SNCF

Loosely translated as the French National Railway Corporation, the SNCF is France’s state-owned railway company. It covers the country’s extensive rail network, as well as the TGV and Thalys, France’s two high-speed railway networks. With over 14,000 trains operating daily, it is a fast and efficient way of travelling around the country. The railway network consists of about 32,000km in total, of which 1800km are high-speed lines and 14,500km are electrified.

Rome2rio's guide to SNCF
Contact Details
Phone
+33 9 70 60 99 70
Website
sncf.com
Train from Lyon Part Dieu to Barcelona Sants
Ave. Duration
5 h 7 min
Frequency
Once daily
Estimated price
$85 - $120
Website
en.oui.sncf
Train from Marseille-St-Charles to Madrid-Puerta de Atocha
Ave. Duration
7 h 44 min
Frequency
6 times a week
Estimated price
$130 - $200
Website
en.oui.sncf
Spanish Railways AVE
Trenitalia Eurocity

The primary train operator in Italy, Trenitalia was created in the year 2000. Trenitalia offers national rail connections in Italy as well as international connections to Austria, France, Germany and Switzerland. The company operates regional and long-distance trains, as well as high-speed trains called Frecce that travel on specialised tracks on speeds of up to 360km/h. Trenitalia tickets are available online, in stations across the country or from many travel agents that offer bookings.

Contact Details
Phone
+39 06 68475475
Website
trenitalia.com
Train from Milano Centrale to Marseille-Saint-Charles
Ave. Duration
7 h 26 min
Frequency
Once daily
Estimated price
$80 - $110
Website
orario.trenitalia.com
Bus operators
Union Ivkoni

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.

More Questions & Answers

Yes, the driving distance between Milan to Spain is 1575 km. It takes approximately 14 h 58 min to drive from Milan to Spain.

Get driving directions

Singapore Airlines, easyJet, Swiss and Vueling Airlines offer flights from Milan Malpensa Airport to Barcelona Airport.

Search flights

There are 336+ hotels available in Spain. Prices start at $51 USD per night.

More details

The best way to get from Milan to Milan Malpensa Airport is to train which takes 37 min and costs 10€ - 14€.

More details

Where to next?