There are 11 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 Linate  •  6h 51m

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

70€ - 181€

Cheapest option

Fly to Milan Bergamo  •  5h 18m

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

25€ - 215€

9 alternative options

Fly to Milan Malpensa  •  5h

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

43€ - 259€

Fly to Turin, train  •  6h 29m

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

43€ - 426€

Fly to Genoa, train  •  7h 12m

  1. Fly from Barcelona (BCN) to Genoa (GOA) BCN - GOA
  2. Take the train from Genova P.Za Principe to Milano Centrale

72€ - 490€

Fly to Bologna, train  •  6h 4m

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

54€ - 613€

Train  •  11h 19m

  1. Take the train from Barcelona-Sants to Lyon Part Dieu Ave
  2. Take the train from Lyon Part Dieu to Milano P.Garibaldi Tgv

132€ - 179€

Bus  •  14h 26m

  1. Take the bus from Barcelona Nord - Bus Station to Milan Barcelona Nord - Bus Station > Perpignan > Montpellier > Marseille - St-Charles Bus station > Nice - Airport > Genoa - Via Fanti d'Italia > Milan / ...

49€ - 110€

Bus via Barcelona/Sants  •  17h 48m

  1. Take the bus from Barcelona/Sants to Milano

88€ - 119€

Car ferry, train  •  22h 18m

  1. Take the car ferry from Barcelona to Genoa
  2. Take the train from Genova P.Za Principe to Milano Centrale Ic / ...

76€ - 147€

Drive  •  9h 26m

  1. Drive from Barcelona to Milan 986 km

130€ - 200€

Coronavirus (COVID-19) in Italy

There is widespread community transmission globally.
Some travel restrictions are being lifted in Italy. For the latest travel status, please check the official page for Italy.

For travel planning advice, please refer to our Rome2rio Coronavirus information page .
For the latest travel status, we recommend checking the official page for Italy.

Coronavirus (COVID-19) Travel Advice

Some border closures are in place for Italy due to Coronavirus (COVID-19). Most travel to this country is restricted.

Source Type: Government | Last updated: 4/18/2020

Some domestic travel restrictions began to ease in Italy from 5/18/2020.

Source Type: Government | Last updated: 5/18/2020

International flights leaving Spain are suspended as part of the response to Coronavirus (COVID-19). Restrictions may also be in place for other modes of transport.

Source Type: Government | Last updated: 3/26/2020

Data sourced from: CDC, ACAPS, OXFORD

Questions & Answers

The cheapest way to get from Barcelona to Milan is to fly which costs 24€ - 220€ and takes 5h 18m.

More details

The quickest way to get from Barcelona to Milan is to fly which costs 40€ - 260€ and takes 5h.

More details

No, there is no direct bus from Barcelona station to Milan. However, there are services departing from Barcelona Nord - Bus Station and arriving at conciliazione m1 via lampugnano m1. The journey, including transfers, takes approximately 14h 26m.

More details

No, there is no direct train from Barcelona to Milan. However, there are services departing from Barcelona-Sants and arriving at Milano P.Garibaldi via Lyon Part Dieu. The journey, including transfers, takes approximately 11h 19m.

More details

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

Get driving directions

The best way to get from Barcelona to Milan without a car is to train which takes 11h 19m and costs 130€ - 180€.

More details

It takes approximately 6h 51m to get from Barcelona to Milan, including transfers.

More details

Barcelona to Milan bus services, operated by ALSA, depart from Barcelona Nord - Bus Station.

More details

Barcelona to Milan train services, operated by Renfe SNCF, depart from Barcelona-Sants station.

More details

The best way to get from Barcelona to Milan is to fly which takes 6h 51m and costs 70€ - 190€. Alternatively, you can train, which costs 130€ - 180€ and takes 11h 19m, you could also bus, which costs 45€ - 110€ and takes 14h 26m.

Mode details

Map of how to get from Barcelona to Milan.
Launch map view
  • Distance: 725.3 km
  • Duration: 6h 51m

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

Alitalia, Lufthansa and seven other airlines fly from Barcelona to Milan hourly. Alternatively, you can take a train from Barcelona to Milan via Lyon Part Dieu in around 11h 19m.

Airlines
Vueling Airlines
Website
vueling.com
Flights from Barcelona to Milan Malpensa
Ave. Duration
1h 40m
When
Every day
Estimated price
30€ - 130€
Flights from Barcelona to Milan Bergamo
Ave. Duration
1h 45m
When
Every day
Estimated price
30€ - 140€
Flights from Barcelona to Turin
Ave. Duration
1h 35m
When
Every day
Estimated price
30€ - 100€
Flights from Barcelona to Genoa
Ave. Duration
1h 35m
When
Tuesday, Thursday and Sunday
Estimated price
40€ - 180€
Flights from Barcelona to Bologna
Ave. Duration
1h 40m
When
Every day
Estimated price
40€ - 190€
Lufthansa
Website
lufthansa.com
Flights from Barcelona to Milan Linate via Frankfurt
Ave. Duration
4h 42m
When
Every day
Estimated price
160€ - 600€
Flights from Barcelona to Milan Malpensa via Munich
Ave. Duration
4h 7m
When
Every day
Estimated price
140€ - 550€
Flights from Barcelona to Turin via Munich
Ave. Duration
4h 5m
When
Monday to Friday
Estimated price
170€ - 410€
Flights from Barcelona to Genoa via Munich
Ave. Duration
4h
When
Every day
Estimated price
140€ - 650€
Flights from Barcelona to Bologna via Munich
Ave. Duration
3h 50m
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
160€ - 750€
Ryanair
Website
ryanair.com
Flights from Barcelona to Milan Malpensa via Palma Mallorca
Ave. Duration
3h 50m
When
Monday, Wednesday and Friday
Estimated price
27€ - 190€
Flights from Barcelona to Milan Bergamo
Ave. Duration
1h 45m
When
Every day
Estimated price
19€ - 95€
Flights from Barcelona to Milan Bergamo via Ibiza
Ave. Duration
4h 25m
When
Monday, Tuesday, Friday, Saturday and Sunday
Estimated price
19€ - 95€
Flights from Barcelona to Turin
Ave. Duration
1h 40m
When
Every day
Estimated price
25€ - 130€
Flights from Barcelona to Bologna
Ave. Duration
1h 45m
When
Every day
Estimated price
30€ - 140€
Alitalia
Website
alitalia.com
Flights from Barcelona to Milan Linate via Rome
Ave. Duration
4h 15m
When
Every day
Estimated price
70€ - 200€
Flights from Barcelona to Milan Linate via Palma Mallorca
Ave. Duration
4h 15m
When
Saturday
Estimated price
70€ - 200€
Flights from Barcelona to Milan Malpensa via Rome
Ave. Duration
4h 10m
When
Every day
Estimated price
70€ - 260€
Flights from Barcelona to Milan Bergamo via Rome
Ave. Duration
4h 10m
When
Every day
Estimated price
60€ - 270€
Flights from Barcelona to Turin via Rome
Ave. Duration
3h 55m
When
Every day
Estimated price
80€ - 210€
easyJet
Website
easyjet.com
Flights from Barcelona to Milan Linate via London Gatwick
Ave. Duration
5h 30m
When
Every day
Estimated price
100€ - 230€
Flights from Barcelona to Milan Linate via Paris CDG
Ave. Duration
7h 15m
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
100€ - 230€
Flights from Barcelona to Milan Malpensa
Ave. Duration
1h 41m
When
Every day
Estimated price
35€ - 140€
Iberia
Website
iberia.com
Flights from Barcelona to Milan Linate via Madrid
Ave. Duration
5h 3m
When
Every day
Estimated price
80€ - 230€
British Airways
Website
britishairways.com
Flights from Barcelona to Milan Linate via London Heathrow
Ave. Duration
6h 13m
When
Every day
Estimated price
100€ - 340€
Air France
Website
airfrance.com
Flights from Barcelona to Milan Linate via Paris CDG
Ave. Duration
4h 30m
When
Every day
Estimated price
95€ - 370€
KLM
Website
klm.com
Flights from Barcelona to Milan Linate via Amsterdam Schiphol
Ave. Duration
5h 20m
When
Saturday and Sunday
Estimated price
110€ - 360€
Brussels Airlines
Website
brusselsairlines.com
Flights from Barcelona to Milan Linate via Brussels
Ave. Duration
6h 50m
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
85€ - 200€
Singapore Airlines
Website
singaporeair.com
Flights from Barcelona to Milan Malpensa
Ave. Duration
1h 40m
When
Thursday and Sunday
Estimated price
90€ - 350€
Swiss
Website
swiss.com
Flights from Barcelona to Milan Malpensa via Zurich
Ave. Duration
4h 15m
When
Every day
Estimated price
160€ - 390€
Train operators
Trenitalia Frecce

Trenitalia’s high-speed Frecce trains run on specialised tracks and have a greater level of service and comfort than InterCity and regional trains. There are three types of Frecce trains: Frecciarossa, (the fastest; connects major Italian cities); Frecciargento (mostly connect Rome to other Italian cities); and Frecciabianca (the slowest Frecce trains). Frecciarossa trains offer four classes of service, all with free Wi-Fi: Standard, Premium, Business and Executive. All Frecce tickets include a seat reservation and must be purchased before boarding the train.

Contact Details
Phone
+39 06 68475475
Website
trenitalia.com
Train from Torino Porta Susa to Milano P.Garibaldi
Ave. Duration
55 min
Frequency
Every 2 hours
Estimated price
14€ - 55€
Website
Trenitalia Frecce
Super Economy
14€ - 19€
Base Standard
29€ - 40€
Base Premium
35€ - 55€
Train from Genova P.Za Principe to Milano Centrale
Ave. Duration
1h 48m
Frequency
Twice daily
Estimated price
14€ - 55€
Website
Trenitalia Frecce
Super Economy
14€ - 19€
Base Standard
29€ - 40€
Base Premium
35€ - 55€
Train from Bologna Centrale to Milano Centrale
Ave. Duration
1h 2m
Frequency
Every 3 hours
Estimated price
18€ - 65€
Website
Trenitalia Frecce
Super Economy
18€ - 25€
Base Standard
35€ - 50€
Base Premium
45€ - 65€
Trenitalia

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 P.Garibaldi
Ave. Duration
1h 32m
Frequency
4 times a day
Estimated price
9€ - 20€
Website
Trenitalia
1st Class
17€ - 20€
Train from Genova P.Za Principe to Milano Centrale
Ave. Duration
1h 53m
Frequency
Every 4 hours
Estimated price
9€ - 20€
Website
Trenitalia
1st Class
17€ - 20€
Train from Bologna Centrale to Milano Centrale
Ave. Duration
2h 32m
Frequency
4 times a day
Estimated price
14€ - 29€
Website
Trenitalia
1st Class
26€ - 29€
Trenitalia Intercity

Trenitalia’s Intercity (IC) trains are slower than the high-speed Frecce trains but are still a good way to travel between major cities and towns, with routes including Rome to Naples, Venice to Bologna and Milan to Genoa. Tickets usually open for booking 90 days ahead of travel, and you’ll need make a seat reservation before boarding. All IC trains have 1st and 2nd class carriages as well as a bar buffet car, air conditioning and power sockets. InterCity trains that run at night are called InterCity Notte (ICN).

Contact Details
Phone
+39 06 68475475
Website
trenitalia.com
Train from Genova P.Za Principe to Milano Centrale
Ave. Duration
1h 48m
Frequency
Every 3 hours
Estimated price
9€ - 14€
Website
Trenitalia Intercity
2nd Class
9€ - 14€
Train from Bologna Centrale to Milano Centrale
Ave. Duration
2h 32m
Frequency
5 times a day
Estimated price
14€ - 20€
Website
Trenitalia Intercity
2nd Class
14€ - 20€
Thello
Phone
+33 1 83 82 00 00
Website
thello.com
Train from Genova P.Za Principe to Milano Centrale
Ave. Duration
1h 34m
Frequency
3 times a day
Estimated price
13€ - 18€
Website
Thello
ItaloTreno

Private train company Italotreno operates high-speed trains in Italy on the same tracks as Trenitalia. The routes service 21 stations across the country, including popular routes Milan-Florence, Rome-Venice and Bologna-Naples. Choose from four classes of service, all with free Wi-Fi: Smart, Comfort, Prima and Club Executive. Italo also operates Italobus – an integrated train-bus service that takes passengers from the main train stations to other Italian cities.

Contact Details
Phone
+39 060708
Website
italotreno.it
Train from Bologna Centrale to Milano Centrale
Ave. Duration
1h 12m
Frequency
Hourly
Estimated price
17€ - 50€
Website
Italo Treno
Smart Economy
19€ - 27€
Smart Low Cost
17€ - 24€
Smart Flex
35€ - 50€
Renfe SNCF
TGV inOui

France’s high-speed TGV train network runs at speeds of up to 320km/h connecting major cities across France and into neighbouring countries. All TGV tickets include a seat reservation; seating is 1+2 in 1st class, 2+2 in 2nd class. Popular routes include Paris to Marseille and Paris to Strasbourg. Most TGVs have a cafe area, power points at each seat and WiFi.

Contact Details
Phone
0033 892 353535
Website
en.oui.sncf
Train from Lyon Part Dieu to Milano P.Garibaldi
Ave. Duration
5h 19m
Frequency
6 times a week
Estimated price
70€ - 95€
Website
Oui.SNCF
2nd Class
70€ - 85€
1st Class
80€ - 95€
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. ALSA services are accessible to people with disabilities, and guide dogs are welcome on all journeys. There are 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 Nord - Bus Station to Milan
Ave. Duration
14h
Frequency
Once daily
Estimated price
75€ - 110€
Website
alsa.com
Bus from Barcelona/Sants to Milano
Ave. Duration
17h 30m
Frequency
Twice daily
Estimated price
85€ - 120€
Website
alsa.com
FlixBus

One of Europe’s leading bus companies, Flixbus serves 2000+ destinations in 29 countries, including Germany, France, Italy, Austria, the Netherlands and Croatia and into Scandinavia and eastern Europe, as well as some US cities. Coaches have toilets, free WiFi and power outlets, plus snacks and drinks for purchase on board. Flixbus is a good choice for the budget-conscious traveller; purchase tickets in advance for the cheapest fares (note: there is no option to reserve a seat in advance).

Rome2rio's guide to FlixBus
Contact Details
Phone
+49 1807 123 99 123
Email
info@flixbus.de
Website
flixbus.de
Bus from Barcelona, Barcelona Nord to Milan, Milan
Ave. Duration
15h 10m
Frequency
4 times a week
Estimated price
45€ - 60€
Website
flixbus.co.uk
Estació d'autobusos Barcelona Nord
Phone
+34 937 065 366
Website
barcelonanord.cat
Bus from Barcelona Nord to Milano
Ave. Duration
16h 30m
Frequency
4 times a week
Website
Estació d'autobusos Barcelona Nord
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

There is no direct flight from Barcelona Airport to Milan Linate Airport. The quickest flight takes 4h and has one stopover.

Search flights

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

More details

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

More details

Yes, the driving distance between Barcelona to Milan is 986 km. It takes approximately 9h 26m to drive from Barcelona to Milan.

Get driving directions

Air Europa, KLM, Brussels Airlines and six other airlines offer flights from Barcelona Airport to Milan Linate Airport.

Search flights

Book your Barcelona to Milan train tickets online with Omio and Omio.

Search and book

There are 3923+ hotels available in Milan. Prices start at 87€ per night.

More details

The best way to get from Barcelona to Barcelona Airport is to train which takes 25 min and costs .

More details