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

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

41€ - 265€

Cheapest option

Fly from Milan Bergamo  •  5h 12m

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

24€ - 220€

9 alternative options

Fly from Milan Linate  •  6h 55m

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

66€ - 182€

Train to Turin, fly  •  5h 57m

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

42€ - 432€

Train to Bologna, fly  •  6h 21m

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

49€ - 640€

Train  •  11h 40m

  1. Take the train from Milano P.Garibaldi to Grenoble Tgv
  2. Take the train from Grenoble to Valence Tgv Rhone-Alpes Sud Ter
  3. Take the train from Valence Tgv Rhone-Alpes Sud to Barcelona-Sants Tgv / ...

133€ - 189€

Bus  •  15h 19m

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

46€ - 112€

Bus via Barcelona/Sants  •  18h 29m

  1. Take the bus from Milano to Barcelona/Sants

86€ - 122€

Train, car ferry  •  23h 25m

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

78€ - 154€

Rideshare  •  11h 21m

  1. Take the rideshare from Milan to Barcelone 985.6 km

55€

Drive  •  9h 22m

  1. Drive from Milan to Barcelona 985.2 km

130€ - 200€

Coronavirus (COVID-19) in Spain

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

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

Coronavirus (COVID-19) Travel Advice

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

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

Some domestic travel restrictions began to ease in Spain from 5/9/2020.

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

International flights leaving Italy 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: 4/18/2020

Data sourced from: CDC, ACAPS, OXFORD

Questions & Answers

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

More details

The quickest way to get from Milan to Barcelona is to fly which costs 40€ - 270€ and takes 4h 54m.

More details

No, there is no direct bus from Milan to Barcelona station. However, there are services departing from via orefici p.za cordusio and arriving at Barcelona Nord - Bus Station via Milan. The journey, including transfers, takes approximately 15h 19m.

More details

No, there is no direct train from Milan to Barcelona. However, there are services departing from Milano P.Garibaldi and arriving at Barcelona-Sants via Grenoble and Valence Tgv Rhone-Alpes Sud. The journey, including transfers, takes approximately 11h 40m.

More details

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

Get driving directions

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

More details

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

More details

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

More details

Milan to Barcelona train services, operated by TGV inOui, depart from Milano P.Garibaldi station.

More details

The best way to get from Milan to Barcelona is to fly which takes 4h 54m and costs 40€ - 270€. Alternatively, you can train, which costs 130€ - 190€ and takes 11h 40m, you could also bus, which costs 45€ - 120€ and takes 15h 19m.

Mode details

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

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

easyJet, Singapore Airlines and four other airlines fly from Milan to Barcelona every 2 hours. Alternatively, you can take a train from Milan to Barcelona via Grenoble and Valence Tgv Rhone-Alpes Sud in around 11h 40m.

Airlines
Vueling Airlines
Website
vueling.com
Flights from Milan Malpensa to Barcelona
Ave. Duration
1h 40m
When
Every day
Estimated price
30€ - 130€
Flights from Milan Bergamo to Barcelona
Ave. Duration
1h 45m
When
Every day
Estimated price
30€ - 140€
Flights from Turin to Barcelona
Ave. Duration
1h 30m
When
Every day
Estimated price
30€ - 100€
Flights from Bologna to Barcelona
Ave. Duration
1h 45m
When
Every day
Estimated price
40€ - 190€
Alitalia
Website
alitalia.com
Flights from Milan Malpensa to Barcelona via Rome
Ave. Duration
3h 55m
When
Every day
Estimated price
70€ - 260€
Flights from Milan Bergamo to Barcelona via Rome
Ave. Duration
4h 5m
When
Every day
Estimated price
60€ - 270€
Flights from Milan Linate to Barcelona via Rome
Ave. Duration
3h 58m
When
Every day
Estimated price
70€ - 200€
Flights from Bologna to Barcelona via Rome
Ave. Duration
4h 10m
When
Every day
Estimated price
75€ - 250€
easyJet
Website
easyjet.com
Flights from Milan Malpensa to Barcelona
Ave. Duration
1h 32m
When
Every day
Estimated price
35€ - 140€
Flights from Milan Linate to Barcelona via London Gatwick
Ave. Duration
6h 8m
When
Every day
Estimated price
100€ - 230€
Lufthansa
Website
lufthansa.com
Flights from Milan Linate to Barcelona via Frankfurt
Ave. Duration
4h 45m
When
Every day
Estimated price
160€ - 600€
Flights from Bologna to Barcelona via Munich
Ave. Duration
4h 30m
When
Every day
Estimated price
160€ - 750€
Ryanair
Website
ryanair.com
Flights from Milan Bergamo to Barcelona
Ave. Duration
1h 35m
When
Every day
Estimated price
19€ - 95€
Flights from Turin to Barcelona
Ave. Duration
1h 25m
When
Every day
Estimated price
25€ - 130€
Flights from Bologna to Barcelona
Ave. Duration
1h 45m
When
Every day
Estimated price
30€ - 140€
British Airways
Website
britishairways.com
Flights from Milan Linate to Barcelona via London Heathrow
Ave. Duration
5h 42m
When
Every day
Estimated price
100€ - 340€
Iberia
Website
iberia.com
Flights from Milan Linate to Barcelona via Madrid
Ave. Duration
5h 12m
When
Every day
Estimated price
80€ - 230€
Singapore Airlines
Website
singaporeair.com
Flights from Milan Malpensa to Barcelona
Ave. Duration
1h 35m
When
Thursday and Sunday
Estimated price
90€ - 360€
Pakistan International Airlines
Website
www4.piac.com.pk
Flights from Milan Malpensa to Barcelona
Ave. Duration
1h 45m
When
Thursday
Estimated price
95€ - 230€
Swiss
Website
swiss.com
Flights from Milan Malpensa to Barcelona via Zurich
Ave. Duration
3h 40m
When
Every day
Estimated price
160€ - 390€
Air France
Website
airfrance.com
Flights from Milan Linate to Barcelona via Paris CDG
Ave. Duration
4h 40m
When
Every day
Estimated price
95€ - 370€
KLM
Website
klm.com
Flights from Milan Linate to Barcelona via Amsterdam Schiphol
Ave. Duration
5h 35m
When
Every day
Estimated price
110€ - 360€
Brussels Airlines
Website
brusselsairlines.com
Flights from Milan Linate to Barcelona via Brussels
Ave. Duration
7h 40m
When
Monday to Saturday
Estimated price
85€ - 200€
Luxair
Website
luxair.lu
Flights from Milan Linate to Barcelona via Luxembourg
Ave. Duration
5h 25m
When
Monday to Saturday
Estimated price
320€ - 700€
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 Milano P.Garibaldi to Torino Porta Susa
Ave. Duration
53 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 Milano Centrale to Bologna Centrale
Ave. Duration
1h 12m
Frequency
Hourly
Estimated price
18€ - 65€
Website
Trenitalia Frecce
Super Economy
18€ - 25€
Base Standard
35€ - 50€
Base Premium
45€ - 65€
Train from Milano Rogoredo to Genova P.Za Principe
Ave. Duration
1h 18m
Frequency
Once daily
Estimated price
13€ - 55€
Website
Trenitalia Frecce
Super Economy
13€ - 18€
Base Standard
29€ - 40€
Base Premium
35€ - 55€
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 Milano P.Garibaldi to Torino Porta Susa
Ave. Duration
1h 47m
Frequency
4 times a day
Estimated price
9€ - 20€
Website
Trenitalia
1st Class
17€ - 20€
Train from Milano Centrale to Bologna Centrale
Ave. Duration
2h 54m
Frequency
Every 3 hours
Estimated price
14€ - 29€
Website
Trenitalia
1st Class
26€ - 29€
Train from Milano Rogoredo to Genova P.Za Principe
Ave. Duration
1h 40m
Frequency
Every 4 hours
Estimated price
9€ - 19€
Website
Trenitalia
1st Class
16€ - 19€
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 Milano Centrale Station to Bologna Centrale
Ave. Duration
1h 12m
Frequency
Every 3 hours
Estimated price
17€ - 50€
Website
Italo Treno
Smart Economy
19€ - 27€
Smart Low Cost
17€ - 24€
Smart Flex
35€ - 50€
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 Milano Centrale to Bologna Centrale
Ave. Duration
2h 24m
Frequency
5 times a day
Estimated price
14€ - 20€
Website
Trenitalia Intercity
2nd Class
14€ - 20€
Train from Milano Rogoredo to Genova P.Za Principe
Ave. Duration
1h 28m
Frequency
5 times a day
Estimated price
9€ - 13€
Website
Trenitalia Intercity
2nd Class
9€ - 13€
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 Milano P.Garibaldi to Grenoble
Ave. Duration
4h 47m
Frequency
Once a week
Estimated price
65€ - 85€
Website
Oui.SNCF
2nd Class
65€ - 80€
1st Class
70€ - 85€
SNCF

France’s state-owned railway company is a fast and efficient way of travelling around the country, with over 14,000 trains operating daily. SNCF runs the country’s extensive rail network, including the high-speed TGV network, regional TER trains and local Intercités. It also operates international routes including Eurostar and Thalys, as well as the low-cost, long-distance Ouigo services that run on limited routes across France. Book up to 3 months in advance for the cheapest fares. 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 Grenoble to Valence Tgv Rhone-Alpes Sud
Ave. Duration
1h 5m
Frequency
Hourly
Estimated price
12€ - 28€
Website
en.oui.sncf
2nd Class
12€ - 18€
Rail 1st Class
19€ - 28€
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.

Contact Details
Phone
+41 51 220 11 11
Website
sbb.ch
Train from Grenoble to Valence TGV Rhône-Alpes Sud
Ave. Duration
1h 5m
Frequency
Every 3 hours
Estimated price
30€ - 55€
Website
Swiss Railways (SBB/CFF/FFS)
Renfe SNCF
Website
renfe-sncf.com
Train from Valence Tgv Rhone-Alpes Sud to Barcelona-Sants
Ave. Duration
4h 19m
Frequency
3 times a day
Estimated price
55€ - 80€
Website
renfe-sncf.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. 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 Milan to Barcelona Nord - Bus Station
Ave. Duration
14h
Frequency
Once daily
Estimated price
75€ - 110€
Website
alsa.com
Bus from Milano to Barcelona/Sants
Ave. Duration
17h 15m
Frequency
Once 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 Milan, Milan to Barcelona, Barcelona Nord
Ave. Duration
14h 55m
Frequency
Once daily
Estimated price
45€ - 60€
Website
flixbus.co.uk
Estació d'autobusos Barcelona Nord
Phone
+34 937 065 366
Website
barcelonanord.cat
Bus from Milano to Barcelona Nord
Ave. Duration
15h 30m
Frequency
4 times a week
Website
Estació d'autobusos Barcelona Nord
Ferry operators
Other operators
BlaBlaCar

Blablacar is a popular ridesharing platform with 70 million users over 22 (mostly European) countries. The basic idea is that you carpool with locals who are already planning to drive your route and have space in their car. With some flexibility, you’ll get to your destination often faster and cheaper than other means. On the website or app, enter your departure and arrival points and your date of travel, sift through the profiles of drivers who’ve posted pre-planned drives and find one whose timing and preferences match yours. Request to join the ride, wait to be accepted, and pay your share of the set price.

Rome2rio's guide to BlaBlaCar
Contact Details
Website
blablacar.com
Rideshare from Milan to Barcelone
Ave. Duration
11h 21m
Frequency
Once daily
Estimated price
55€
Book at
blablacar.co.uk

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

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

Search flights

Milan to Barcelona bus services, operated by ALSA, arrive at Barcelona Nord - Bus Station.

More details

Milan to Barcelona train services, operated by Renfe SNCF, arrive at Barcelona-Sants station.

More details

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

Get driving directions

Singapore Airlines, Pakistan International Airlines, Swiss and three other airlines offer flights from Milan Malpensa Airport to Barcelona Airport.

Search flights

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

Search and book

There are 2771+ hotels available in Barcelona. Prices start at 87€ per night.

More details

Check out Blablacar's carpooling service for rideshare options between Milan and Barcelona. A great option if you don't have a driver's licence or want to avoid public transport.

Read Rome2rio's guide to Blablacar

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

More details