There are 10 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 19 min

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

$31 - $249

8 alternative options

Fly to Milan Linate  •  6 h 31 min

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

$53 - $280

Fly to Turin, train  •  6 h 3 min

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

$52 - $246

Fly to Bologna, train  •  6 h 10 min

  1. Fly from Barcelona (BCN) to Bologna (BLQ) BCN - BLQ
  2. Take the train from Bologna C.Le to Milano Centrale

$64 - $282

Bus, train  •  12 h 51 min

  1. Take the bus from Barcelona to Turin, Torino N740
  2. Take the train from Torino Porta Susa to Milano Centrale Fr

$73 - $114

Train  •  17 h 1 min

  1. Take the train from Barcelona Sants to Girona A / ...
  2. Take the train from Girona to Port Bou Ir / ...
  3. Take the train from Cerbère to Avignon Centre
  4. Take the train from Avignon TGV to Genève Tgv
  5. Take the train from Geneve to Milano Centrale Ec

$234 - $359

Bus  •  17 h 48 min

  1. Take the bus from Barcelona/Sants to Milano

$65 - $97

Car ferry, train  •  22 h 10 min

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

$107 - $150

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 19 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 train from Barcelona to Milan. However, there are services departing from Barcelona Sants and arriving at Milano Centrale via Girona, Cerbère, Avignon Centre, Avignon TGV and Geneve. The journey, including transfers, takes approximately 17 h 1 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 bus and train which takes 12 h 51 min and costs 60€ - 100€.

More details

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

More details

Barcelona to Milan train services, operated by Spanish Railways (RENFE), 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 200€ - 310€ and takes 17 h 1 min, you could also bus, which costs 55€ - 85€ and takes 17 h 48 min.

Mode details

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 train services, operated by Swiss Railways (SBB/CFF/FFS), arrive at Milano Centrale station.

More 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 four other airlines fly from Barcelona to Milan hourly. Alternatively, you can take a train from Barcelona to Milan via Girona, Port Bou, Cerbère, Avignon Centre, Avignon TGV, Genève, and Geneve in around 17 h 1 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 37 min
When
Every day
Estimated price
$85 - $450
Flights from Barcelona to Turin
Ave. Duration
1 h 30 min
When
Every day
Estimated price
$35 - $350
Flights from Barcelona to Bologna
Ave. Duration
1 h 40 min
When
Every day
Estimated price
$50 - $360
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
Every day
Estimated price
$35 - $350
Flights from Barcelona to Bologna
Ave. Duration
1 h 40 min
When
Every day
Estimated price
$50 - $360
Lufthansa
Website
lufthansa.com
Flights from Barcelona to Milan Malpensa via Munich
Ave. Duration
4 h 5 min
When
Every day
Estimated price
$170 - $700
Flights from Barcelona to Milan Bergamo via Munich
Ave. Duration
4 h
When
Monday, Tuesday, Wednesday and Thursday
Estimated price
$190 - $700
Flights from Barcelona to Milan Linate via Frankfurt
Ave. Duration
5 h 11 min
When
Every day
Estimated price
$180 - $750
Flights from Barcelona to Bologna via Munich
Ave. Duration
4 h 5 min
When
Every day
Estimated price
$180 - $700
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
3 h 40 min
When
Tuesday and Saturday
Estimated price
$28 - $270
Flights from Barcelona to Milan Bergamo via Ibiza
Ave. Duration
4 h 30 min
When
Monday, Tuesday, Friday, Saturday and Sunday
Estimated price
$28 - $270
Flights from Barcelona to Turin
Ave. Duration
1 h 45 min
When
Every day
Estimated price
$29 - $290
Flights from Barcelona to Bologna
Ave. Duration
1 h 45 min
When
Every day
Estimated price
$35 - $300
easyJet
Website
easyjet.com
Flights from Barcelona to Milan Malpensa
Ave. Duration
1 h 40 min
When
Every day
Estimated price
$40 - $280
Flights from Barcelona to Milan Linate via London Gatwick
Ave. Duration
5 h 30 min
When
Every day
Estimated price
$130 - $650
Flights from Barcelona to Milan Linate via Paris CDG
Ave. Duration
7 h 20 min
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
$130 - $650
Alitalia
Website
alitalia.com
Flights from Barcelona to Milan Malpensa via Rome
Ave. Duration
3 h 55 min
When
Every day
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
Flights from Barcelona to Bologna via Rome
Ave. Duration
4 h 20 min
When
Every day
Estimated price
$100 - $600
British Airways
Website
britishairways.com
Flights from Barcelona to Milan Linate via London Heathrow
Ave. Duration
6 h 12 min
When
Every day
Estimated price
$140 - $800
Swiss
Website
swiss.com
Flights from Barcelona to Milan Malpensa via Zurich
Ave. Duration
3 h 55 min
When
Every day
Estimated price
$190 - $750
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
Air France
Website
airfrance.com
Flights from Barcelona to Milan Linate via Paris CDG
Ave. Duration
4 h 35 min
When
Thursday and Sunday
Estimated price
$200 - $800
Brussels Airlines
Website
brusselsairlines.com
Flights from Barcelona to Milan Linate via Brussels
Ave. Duration
6 h 40 min
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
$80 - $550
Train operators
Trenitalia Frecce

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 Torino Porta Susa to Milano Centrale
Ave. Duration
50 min
Frequency
Hourly
Estimated price
$21 - $30
Website
orario.trenitalia.com
Train from Bologna C.Le to Milano Centrale
Ave. Duration
1 h 2 min
Frequency
Hourly
Estimated price
$29 - $45
Website
orario.trenitalia.com
ItaloTreno
Phone
+39 060708
Website
italotreno.it
Train from Bologna Centrale Station to Milano Centrale Station
Ave. Duration
1 h 4 min
Frequency
Once daily
Estimated price
$25 - $35
Website
italotreno.it
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 to Girona
Ave. Duration
38 min
Frequency
Hourly
Estimated price
$12 - $22
Website
renfe.com
Train from Girona to Port Bou
Ave. Duration
52 min
Frequency
Every 3 hours
Estimated price
$8 - $19
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 Cerbère to Avignon Centre
Ave. Duration
3 h 45 min
Frequency
Every 3 hours
Estimated price
$45 - $65
Website
en.oui.sncf
2nd Class
$45 - $65
1st Class
$65 - $100
TGV
Phone
0033 892 353535
Website
sncf.com
Train from Avignon TGV to Genève
Ave. Duration
2 h 50 min
Frequency
3 times a week
Estimated price
$75 - $90
Website
en.oui.sncf
2nd Class
$75 - $90
1st Class
$100 - $150
Swiss Railways (SBB/CFF/FFS)

The national railway company of Switzerland, Swiss Railways operates trains throughout the country and adjacent European nations including Germany, France, Italy and Austria. Tickets are sold in two classes - First and Second - with most long-distance trains offering a bistro car serving beverages and snacks. Individual tickets can be bought easily at stands, while a variety of travel passes are on offer to suit different travel needs. Swiss Railways codeshares with American Airlines and Swiss International Air Lines out of Zurich International Airport.

Contact Details
Website
sbb.ch
Train from Geneve to Milano Centrale
Ave. Duration
3 h 55 min
Frequency
Every 4 hours
Estimated price
$85 - $150
Website
fahrplan.sbb.ch
Schedules at
fahrplan.sbb.ch
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 Geneve to Milano Centrale
Ave. Duration
3 h 58 min
Frequency
4 times a day
Estimated price
$55 - $85
Website
orario.trenitalia.com
Train from Genova Piazza Principe to Milano Centrale
Ave. Duration
1 h 28 min
Frequency
Hourly
Estimated price
$30 - $45
Website
orario.trenitalia.com
Bus operators
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 Turin, Torino
Ave. Duration
11 h 15 min
Frequency
Once daily
Estimated price
$50 - $85
Website
flixbus.co.uk
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/Sants to Milano
Ave. Duration
17 h 30 min
Frequency
Twice daily
Estimated price
$60 - $100
Website
alsa.com
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

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, Alitalia, Lufthansa and three other airlines offer flights from Barcelona Airport to Milan Malpensa Airport.

Search flights

There are 4065+ hotels available in Milan. Prices start at $63 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