Travel from Barcelona to Milan

Train, bus or fly from Barcelona to Milan?

Alitalia and Air Europa fly from Barcelona to Milan 3 times a day. Alternatively, you can take a train from Barcelona to Milan via Montpellier Saint-Roch and Lyon Part Dieu in around 11 h 45 min.

Travel Guides

Getting to Milan from the airportGet the details in Rome2rio’s airport-to-city travel guide
Want to know more about Flixbus?Rome2rio’s guide has all the details

How to get from Barcelona to Milan

ModeDurationPrice
From Barcelona - Passeig de Gràcia train to Barcelona airport, fly to Milan Linate airport, then line 73 bus to Milan.4 h 8 min$103
From Barcelona - Passeig de Gràcia train to Barcelona airport, fly to Milan Malpensa airport, then train to Milan.4 h 47 min$86
From Barcelona - Passeig de Gràcia train to Barcelona airport, fly to Milan Bergamo airport, then shuttle to Milan.5 h 12 min$69
From Barcelona Sants train to Montpellier Saint-Roch, train to Lyon Part Dieu, then train to Milano Porta Garibaldi.11 h 45 min$227
From Barcelona bus to lampugnano m1 then line 68 bus to conciliazione m1.15 h 8 min$106
From Barcelona/Sants bus to Lampugnano then line 1 subway to Duomo M1.17 h 48 min$91
From Barcelona car ferry to Genova - Piazza San Teodoro, bus to Genova Piazza Principe, then train to Milano Centrale.21 h 56 min$149
From Barcelona drive to Milan.9 h 25 min$181

How long does it take to get from Barcelona to Milan?

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

Is there a direct train between Barcelona and Milan?

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 Montpellier Saint-Roch and Lyon Part Dieu. The journey, including transfers, takes approximately 11 h 45 min.

Is there a direct bus between Barcelona and Milan?

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 15 h 8 min.

Operators from Barcelona to Milan

OperatorPhoneWebsite
Barcelona Cercanías (RENFE)900 41 00 41Barcelona Cercanías (RENFE)
AlitaliaAlitalia
Air EuropaAir Europa
Milan MetroMilan Metro
Vueling AirlinesVueling Airlines
easyJeteasyJet
Singapore AirlinesSingapore Airlines
SwissSwiss
EurowingsEurowings
LufthansaLufthansa
Malpensa ExpressMalpensa Express
RyanairRyanair
Orio Shuttle035.319366Orio Shuttle
TGV0033 892 353535TGV
French Railways (SNCF)+33 9 70 60 99 70French Railways (SNCF)
FlixBus+49 1807 123 99 123FlixBus
ALSA+34 902 42 22 42ALSA
Grandi Navi Veloci+39 010 209 4591Grandi Navi Veloci
AMT Genova848 000 030AMT Genova
Trenitalia Eurocity+39 06 68475475Trenitalia Eurocity