• Our partners include:

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

There are 8 ways to get from Barcelona to Milan by plane, train, bus, car ferry 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 to Milan Malpensa  •  4 h 54 min

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

$44 - $203

Cheapest option

Fly to Milan Bergamo  •  5 h 17 min

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

$31 - $249

6 alternative options

Fly to Milan Linate  •  6 h 32 min

  1. Fly from Barcelona (BCN) to Milan Linate (LIN) BCN - LIN

$53 - $279

Fly to Turin, train  •  6 h 29 min

  1. Fly from Barcelona (BCN) to Turin (TRN) BCN - TRN
  2. Take the train from Torino Porta Susa Station to Milano Centrale Station

$51 - $245

Train  •  11 h 44 min

  1. Take the train from Barcelona Sants to Valence TGV Tgv / ...
  2. Take the train from Valence TGV to Chambery-Challes-E
  3. Take the train from Chambery-Challes-E to Milano Porta Garibaldi Tgv

$166 - $239

Bus  •  16 h 56 min

  1. Take the bus from Barcelona to Milano N740

$63 - $107

Car ferry, train  •  21 h 51 min

  1. Take the car ferry from Barcelona to Genoa
  2. Take the train from Genova Piazza Principe to Milano Centrale Ec / ...

$104 - $148

Drive  •  9 h 25 min

  1. Drive from Barcelona to Milan 617.2 miles

$140 - $220

Questions & Answers

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

More details

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

More details

No, there is no direct bus from Barcelona to Milan. However, there are services departing from Barcelona and arriving at conciliazione m1 via lampugnano m1. The journey, including transfers, takes approximately 16 h 56 min.

More details

No, there is no direct train from Barcelona to Milan. However, there are services departing from Barcelona Sants and arriving at Milano Porta Garibaldi via Valence TGV and Chambery-Challes-E. The journey, including transfers, takes approximately 11 h 44 min.

More details

The distance between Barcelona and Milan is 725 km. The road distance is 987.5 km.

Get driving directions

The best way to get from Barcelona to Milan without a car is to train which takes 11 h 44 min and costs 140€ - 210€.

More details

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

More details

Barcelona to Milan bus services, operated by ALSA, depart from Barcelona station.

More details

Barcelona to Milan train services, operated by inOui TGV, depart from Barcelona Sants station.

More details

The best way to get from Barcelona to Milan is to fly which takes 4 h 54 min and costs 35€ - 180€. Alternatively, you can train, which costs 140€ - 210€ and takes 11 h 44 min, you could also bus, which costs 55€ - 95€ and takes 16 h 56 min.

Mode details

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

What companies run services between Barcelona, Spain and Milan, Italy?

Vueling Airlines, easyJet and three other airlines fly from Barcelona to Milan every 2 hours. Alternatively, you can take a train from Barcelona to Milan via Valence TGV and Chambery-Challes-E in around 11 h 44 min.

Airlines
Iberia
Website
iberia.com
Flights from Barcelona to Milan Malpensa
Ave. Duration
1 h 35 min
When
Every day
Estimated price
$35 - $340
Flights from Barcelona to Milan Linate via Madrid
Ave. Duration
4 h 23 min
When
Every day
Estimated price
$85 - $450
easyJet
Website
easyjet.com
Flights from Barcelona to Milan Malpensa
Ave. Duration
1 h 38 min
When
Every day
Estimated price
$40 - $280
Flights from Barcelona to Milan Linate via London Gatwick
Ave. Duration
7 h 25 min
When
Every day
Estimated price
$130 - $650
Flights from Barcelona to Milan Linate via Paris CDG
Ave. Duration
7 h
When
Tuesday, Thursday, Friday and Sunday
Estimated price
$130 - $650
Vueling Airlines
Website
vueling.com
Flights from Barcelona to Milan Malpensa
Ave. Duration
1 h 35 min
When
Every day
Estimated price
$35 - $340
Flights from Barcelona to Turin
Ave. Duration
1 h 30 min
When
Monday, Thursday, Friday, Saturday and Sunday
Estimated price
$35 - $350
Ryanair
Website
ryanair.com
Flights from Barcelona to Milan Bergamo
Ave. Duration
1 h 45 min
When
Every day
Estimated price
$28 - $270
Flights from Barcelona to Milan Bergamo via Palma Mallorca
Ave. Duration
4 h 10 min
When
Thursday and Sunday
Estimated price
$28 - $270
Flights from Barcelona to Turin
Ave. Duration
1 h 40 min
When
Monday, Wednesday, Friday, Saturday and Sunday
Estimated price
$29 - $290
Lufthansa
Website
lufthansa.com
Flights from Barcelona to Milan Malpensa via Munich
Ave. Duration
4 h
When
Every day
Estimated price
$170 - $700
Flights from Barcelona to Milan Linate via Frankfurt
Ave. Duration
4 h 53 min
When
Every day
Estimated price
$180 - $750
Alitalia
Website
alitalia.com
Flights from Barcelona to Milan Malpensa via Rome
Ave. Duration
4 h 10 min
When
Monday, Tuesday, Thursday, Friday, Saturday and Sunday
Estimated price
$480 - $3,400
Flights from Barcelona to Milan Linate via Rome
Ave. Duration
4 h 3 min
When
Every day
Estimated price
$55 - $550
British Airways
Website
britishairways.com
Flights from Barcelona to Milan Linate via London Heathrow
Ave. Duration
5 h 47 min
When
Every day
Estimated price
$140 - $800
Air France
Website
airfrance.com
Flights from Barcelona to Milan Linate via Paris CDG
Ave. Duration
6 h 2 min
When
Every day
Estimated price
$200 - $800
Brussels Airlines
Website
brusselsairlines.com
Flights from Barcelona to Milan Linate via Brussels
Ave. Duration
7 h 25 min
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
$80 - $550
Singapore Airlines
Website
singaporeair.com
Flights from Barcelona to Milan Malpensa
Ave. Duration
1 h 40 min
When
Wednesday, Thursday and Sunday
Estimated price
$140 - $550
Train operators
ItaloTreno
Phone
+39 060708
Website
italotreno.it
Train from Torino Porta Susa Station to Milano Centrale Station
Ave. Duration
50 min
Frequency
Hourly
Estimated price
$20 - $29
Website
italotreno.it
inOui TGV
Phone
0033 892 353535
Website
en.oui.sncf
Train from Barcelona Sants to Valence TGV
Ave. Duration
4 h 14 min
Frequency
5 times a day
Estimated price
$100 - $120
Website
en.oui.sncf
2nd Class
$100 - $120
1st Class
$140 - $210
Train from Chambery-Challes-E to Milano Porta Garibaldi
Ave. Duration
4 h 5 min
Frequency
3 times a day
Estimated price
$65 - $80
Website
en.oui.sncf
2nd Class
$65 - $80
1st Class
$95 - $130
Spanish Railways (RENFE)

Based in Madrid, Renfe is a state-owned train operator, that connects cities across Spain and neighbouring countries including Portugal, France, Germany, Switzerland, and the Netherlands. Renfe’s extensive network means most destinations offer multiple trains a day, with the most popular routes normally offering a train each hour. Locally known as AVE, the high-speed trains can reach speeds of up to 350km/h, making travel between major cities very efficient. Comfort is key in a Renfe train, with seats with footrests in all three classes of travel: Standard, Club and First. Each seat has an individual light, a pull-down table and an electrical outlet for in Club and First classes. There is free WiFi for first class passengers and for those with a + Renfe card.

Rome2rio's guide to Spanish Railways (RENFE)
Contact Details
Phone
902 320 320
Website
renfe.com
Train from Barcelona Sants Station to Gare de Valence TGV
Ave. Duration
4 h 13 min
Frequency
Twice daily
Estimated price
$65 - $80
Website
renfe.com
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 Valence TGV to Chambery-Challes-E
Ave. Duration
1 h 55 min
Frequency
Hourly
Estimated price
$27 - $40
Website
en.oui.sncf
2nd Class
$27 - $40
1st Class
$35 - $60
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 Genova Piazza Principe to Milano Centrale
Ave. Duration
1 h 28 min
Frequency
Hourly
Estimated price
$29 - $45
Website
orario.trenitalia.com
Bus operators
ALSA

A Spanish subsidiary of National Express, ALSA provides bus and coach services across Spain and neighbouring countries including Portugal, France, Germany, the Netherlands, Italy, Poland and Malta. Founded in 1923, ALSA values service and the customer experience. Buses are equipped with communal TV screens showing movies, individual behind-seat screens, ALSA radio, app for books and music, and free WiFi so you’re never bored on your journey. ALSA services are accessible to people with disabilities, and guide dogs are welcome on all journeys. Flexibility is another highlight of an ALSA journey, with three types of tickets on offer - Frequent Traveller Pass, Share Pass and ALSA Pass, along with discounts for senior citizens, students and children.

Contact Details
Phone
+34 902 42 22 42
Website
alsa.es
Bus from Barcelona to Milano
Ave. Duration
16 h 25 min
Frequency
3 times a day
Estimated price
$60 - $95
Website
alsa.com
FlixBus

One of Europe’s leading bus companies, Flixbus serves over 1400 destinations, in 26 countries including Germany, France, Italy, Austria, the Netherlands, Croatia, Spain, and across Scandinavia and central and eastern Europe. Founded in 2012, Flixbus’ extensive network connects cities with approximately 200,000 trips, with buses often departing every 30 minutes. One of the most affordable ways to get around Europe (and expanding soon into the US), a Flixbus journey is cost-effective, well-connected, comfortable and safe.

Rome2rio's guide to FlixBus
Contact Details
Phone
+49 1807 123 99 123
Email
info@flixbus.de
Website
flixbus.de
Bus from Barcelona to Milan, Milan
Ave. Duration
13 h 20 min
Frequency
Once daily
Estimated price
$60 - $110
Website
flixbus.co.uk
Ferry operators

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.

More Questions & Answers

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

Search flights

Barcelona to Milan bus services, operated by ALSA, arrive at Milano station.

More details

Barcelona to Milan train services, operated by inOui TGV, arrive at Milano Porta Garibaldi station.

More details

Yes, the driving distance between Barcelona to Milan is 987 km. It takes approximately 9 h 25 min to drive from Barcelona to Milan.

Get driving directions

Singapore Airlines, Lufthansa, Alitalia and two other airlines offer flights from Barcelona Airport to Milan Malpensa Airport.

Search flights

Book your Barcelona to Milan train tickets online with Loco2, Loco2 and Loco2.

Search and book

There are 4181+ hotels available in Milan. Prices start at $62 USD per night.

More details

The best way to get from Barcelona to Barcelona Airport is to train which takes 24 min and costs 1€ - 7€.

More details