• Our partners include:

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

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

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

$44 - $204

Cheapest option

Fly from Milan Bergamo  •  5 h 17 min

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

$31 - $249

8 alternative options

Fly from Milan Linate  •  6 h 57 min

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

$53 - $280

Train to Turin, fly  •  5 h 52 min

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

$51 - $244

Train  •  11 h 47 min

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

$165 - $236

Bus, bus and ferry  •  14 h 3 min

  1. Take the bus from Milano - Famagosta to Alessandria 200-10
  2. Take the bus and ferry from Alessandria to Barcelona

$74 - $110

Bus  •  17 h 59 min

  1. Take the bus from Milano to Barcelona N728

$62 - $112

Train, car ferry  •  22 h 44 min

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

$83 - $134

Rideshare  •  11 h 21 min

  1. Take the rideshare from Milan to Barcelone 615.9 miles

$63

Drive  •  9 h 21 min

  1. Drive from Milan to Barcelona 615.7 miles

$140 - $220

Questions & Answers

The cheapest way to get from Milan to Barcelona is to rideshare which costs 55€ and takes 11 h 21 min.

More details

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

More details

No, there is no direct bus from Milan to Barcelona. However, there are services departing from Milano - Famagosta and arriving at Barcelona via Alessandria. The journey, including transfers, takes approximately 14 h 3 min.

More details

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

More details

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

Get driving directions

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

More details

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

More details

Milan to Barcelona bus services, operated by Arfea, depart from Milano - Famagosta station.

More details

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

More details

The best way to get from Milan to Barcelona 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 47 min, you could also bus, which costs 50€ - 100€ and takes 17 h 59 min.

Mode details

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

What companies run services between Milan, Italy and Barcelona, 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 Barcelona via Chambery-Challes-E and Valence TGV in around 11 h 47 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 Barcelona via Madrid
Ave. Duration
4 h 43 min
When
Every day
Estimated price
$85 - $450
Flights from Turin to Barcelona
Ave. Duration
1 h 25 min
When
Monday, Tuesday, Thursday, Friday and Sunday
Estimated price
$35 - $350
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 Linate to Barcelona via London Gatwick
Ave. Duration
6 h 30 min
When
Monday, Tuesday, Thursday, Friday, Saturday and Sunday
Estimated price
$130 - $650
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 Turin to Barcelona
Ave. Duration
1 h 25 min
When
Monday, Tuesday, Thursday, Friday and Sunday
Estimated price
$35 - $350
Lufthansa
Website
lufthansa.com
Flights from Milan Linate to Barcelona via Frankfurt
Ave. Duration
4 h 31 min
When
Every day
Estimated price
$180 - $750
Ryanair
Website
ryanair.com
Flights from Milan Bergamo to Barcelona
Ave. Duration
1 h 40 min
When
Every day
Estimated price
$28 - $270
Flights from Turin to Barcelona
Ave. Duration
1 h 30 min
When
Monday, Wednesday, Friday, Saturday and Sunday
Estimated price
$29 - $290
British Airways
Website
britishairways.com
Flights from Milan Linate to Barcelona via London Heathrow
Ave. Duration
5 h 40 min
When
Every day
Estimated price
$140 - $800
Alitalia
Website
alitalia.com
Flights from Milan Linate to Barcelona via Rome
Ave. Duration
3 h 53 min
When
Every day
Estimated price
$55 - $550
Air France
Website
airfrance.com
Flights from Milan Linate to Barcelona via Paris CDG
Ave. Duration
4 h 40 min
When
Every day
Estimated price
$200 - $800
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
Brussels Airlines
Website
brusselsairlines.com
Flights from Milan Linate to Barcelona via Brussels
Ave. Duration
6 h 32 min
When
Monday to Saturday
Estimated price
$80 - $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
KLM
Website
klm.com
Flights from Milan Linate to Barcelona via Amsterdam
Ave. Duration
5 h 15 min
When
Every day
Estimated price
$160 - $800
Train operators
ItaloTreno
Phone
+39 060708
Website
italotreno.it
Train from Milano Centrale Station to Torino Porta Susa Station
Ave. Duration
50 min
Frequency
Every 3 hours
Estimated price
$20 - $29
Website
italotreno.it
inOui TGV
Phone
0033 892 353535
Website
en.oui.sncf
Train from Milano Porta Garibaldi to Chambery-Challes-E
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
Train from Valence TGV to Barcelona Sants
Ave. Duration
4 h 13 min
Frequency
4 times a day
Estimated price
$100 - $120
Website
en.oui.sncf
2nd Class
$100 - $120
1st Class
$140 - $210
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 Chambery-Challes-E to Valence TGV
Ave. Duration
1 h 55 min
Frequency
Hourly
Estimated price
$27 - $40
Website
en.oui.sncf
2nd Class
$27 - $40
1st Class
$35 - $60
Train from Valence TGV to Barcelona Sants
Ave. Duration
4 h 28 min
Frequency
Once daily
Estimated price
$70 - $110
Website
en.oui.sncf
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 Centrale to Genova Piazza Principe
Ave. Duration
1 h 53 min
Frequency
Hourly
Estimated price
$10 - $23
Website
orario.trenitalia.com
1st Class
$19 - $23
Bus operators
Arfea
Phone
800 13 60 44
Email
tpl@arfea.it
Website
arfea.it
Bus from Milano - Famagosta to Alessandria
Ave. Duration
1 h 13 min
Frequency
Once daily
Estimated price
$9 - $11
Schedules at
arfea.it
Autolinee Gambioli
Phone
+41 (0) 79.71.85.806
Email
info@autolineegambioli.it
Website
autolineegambioli.it
Bus and ferry from Alessandria to Barcelona
Ave. Duration
11 h 50 min
Frequency
Twice a week
Estimated price
$65 - $100
Schedules at
autolineegambioli.it
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 Milano to Barcelona
Ave. Duration
16 h 45 min
Frequency
Twice daily
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 Milan, Milan to Barcelona
Ave. Duration
15 h 15 min
Frequency
5 times a week
Estimated price
$60 - $110
Website
flixbus.co.uk
Ferry operators
Other operators
BlaBlaCar

A ridesharing platform with 40 million users, Blablacar gives you access to destinations without worrying about on-the-road chaos. 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 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
11 h 21 min
Frequency
Once daily
Estimated price
$63
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 1 h 30 min.

Search flights

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

More details

Milan to Barcelona train services, operated by inOui TGV, arrive at Barcelona Sants station.

More details

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

Get driving directions

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

Search flights

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

Search and book

There are 3452+ hotels available in Barcelona. Prices start at $78 USD 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 10€ - 14€.

More details