There are 9 ways to get from Portbou to Milan by train, plane, train (TGV, Renfe, Trenitalia), bus, 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.
Train, train to Barcelona–El Prat Airport, fly to Milan Linate Airport
best- Take the train from Port-Bou to Gironatrain
- Take the train from Girona to Barcelona-Santstrain
- Fly from Barcelona–El Prat Airport (BCN) to Milan Linate Airport (LIN)plane BCN - LIN
6h 28m€48–238Train, train to Barcelona–El Prat Airport, fly to Milano Malpensa Airport
cheapest- Take the train from Port-Bou to Gironatrain
- Take the train from Girona to Barcelona-Santstrain
- Fly from Barcelona–El Prat Airport (BCN) to Milano Malpensa Airport (MXP)plane BCN - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
7h 13m€38–151Train
- Take the train from Port-Bou to Montpellier Saint-Rochtrain Ter
- Take the train from Montpellier Saint-Roch to Valence Tgv Rhone-Alpes Sudtrain Tgv
- Take the train from Valence Tgv Rhone-Alpes Sud to Chambery Challes Les Eauxtrain Ter
- Take the train from Chambery Challes Les Eaux to Milano Centraletrain Fr
11h 21m€134–245Train, bus
- Take the train from Cerbere to Perpignantrain Ter
- Take the bus from Perpignan - Bus Station to Milano, Autostazione Lampugnanobus BlaBlaCar Bus
14h 24m€49–137Drive 782.6 km
- Drive from Portbou to Milancar 782.6 km
9h 24m€142–205Train, train to Barcelona–El Prat Airport, fly to Il Caravaggio International Airport, bus
- Take the train from Port-Bou to Gironatrain
- Take the train from Girona to Barcelona-Santstrain
- Fly from Barcelona–El Prat Airport (BCN) to Il Caravaggio International Airport (BGY)plane BCN - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
7h 18m€51–258Train, train to Barcelona–El Prat Airport, fly to Turin Caselle Airport
- Take the train from Port-Bou to Gironatrain
- Take the train from Girona to Barcelona-Santstrain
- Fly from Barcelona–El Prat Airport (BCN) to Turin Caselle Airport (TRN)plane BCN - TRN
- Take the train from Torino Porta di Susa to Milano Centraletrain
8h 15m€49–205Train, train to Marseille Provence Airport, fly to Milano Malpensa Airport
- Take the train from Port-Bou to Narbonnetrain
- Take the train from Narbonne to Vitrolles Aeroport Marseilletrain
- Fly from Marseille Provence Airport (MRS) to Milano Malpensa Airport (MXP)plane MRS - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
10h 17m€127–335Train, bus via Girona
- Take the train from Port-Bou to Gironatrain Re / ...
- Take the bus from Girona, Estació d'Autobusos to Milano, Autostazione Lampugnanobus 1922
16h 3m€95–158
Portbou to Milan by train
Comparing Your Travel Options
The cheapest way to get from Portbou to Milan is to train and fly which costs €35 - €160 and takes 7h 13m.
The fastest way to get from Portbou to Milan is to train and fly which takes 6h 28m and costs €45 - €240.
No, there is no direct train from Portbou to Milan. However, there are services departing from Port-Bou and arriving at Milano Centrale via Montpellier Saint-Roch, Valence Tgv Rhone-Alpes Sud and Chambery Challes Les Eaux. The journey, including transfers, takes approximately 11h 21m.
The distance between Portbou and Milan is 925 km. The road distance is 782.6 km.
The best way to get from Portbou to Milan without a car is to train which takes 11h 21m and costs €130 - €250.
It takes approximately 6h 28m to get from Portbou to Milan, including transfers.
Portbou to Milan train services, operated by Société Nationale des Chemins de fer Français (SNCF), depart from Port-Bou station.
Portbou to Milan train services, operated by Société Nationale des Chemins de fer Français (SNCF), arrive at Montpellier Saint-Roch station.
Yes, the driving distance between Portbou to Milan is 783 km. It takes approximately 9h 24m to drive from Portbou to Milan.
Book your Portbou to Milan train tickets online with Omio.
What companies run services between Portbou, Spain and Milan, Italy?
You can take a train from Port-Bou to Milano Centrale via Montpellier Saint-Roch, Valence Tgv Rhone-Alpes Sud, and Chambery Challes Les Eaux in around 11h 21m.
- Website
- ryanair.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Thursday, Sunday, Monday, Friday, and Saturday
- Estimated price
- €21–85
Flights from Barcelona–El Prat Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €27–170
Flights from Barcelona–El Prat Airport to Turin Caselle Airport
- Ave. Duration
- 1h 38m
- When
- Monday to Tuesday
- Estimated price
- €30–180
Flights from Barcelona–El Prat Airport to Turin Caselle Airport via Ibiza
- Ave. Duration
- 4h
- When
- Saturday
- Estimated price
- €30–180
- Website
- easyjet.com
Flights from Barcelona–El Prat Airport to Milan Linate Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €26–130
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 42m
- When
- Every day
- Estimated price
- €15–95
- Website
- vueling.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 38m
- When
- Every day
- Estimated price
- €17–100
Flights from Barcelona–El Prat Airport to Turin Caselle Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €17–100
- Website
- flyulendo.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €15–120
Flights from Barcelona–El Prat Airport to Turin Caselle Airport
- Ave. Duration
- 1h 30m
- When
- Monday, Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €11–80
- Website
- twinjet.fr
Flights from Marseille Provence Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Monday to Friday
- Estimated price
- €300–800
- Website
- ita-airways.com
Flights from Barcelona–El Prat Airport to Milan Linate Airport via Palma Mallorca
- Ave. Duration
- 4h 15m
- When
- Saturday
- Estimated price
- €95–210
Rome2Rio's guide to Renfe Viajeros
Contact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Port-Bou to Girona
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €8–13
- Website
- Renfe Viajeros
Train from Girona to Barcelona-Sants
- Ave. Duration
- 41 min
- Frequency
- Every 30 minutes
- Estimated price
- €11–17
- Website
- Renfe Viajeros
Train from Montpellier Saint-Roch to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 1h 12m
- Frequency
- 4 times a day
- Estimated price
- €26–40
- Website
- Renfe Viajeros
Train from Port-Bou to Girona
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €8–13
- Website
- Renfe Viajeros
Train from Girona to Barcelona-Sants
- Ave. Duration
- 41 min
- Frequency
- Every 30 minutes
- Estimated price
- €11–17
- Website
- Renfe Viajeros
Train from Port-Bou to Girona
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €8–13
- Website
- Renfe Viajeros
Train from Girona to Barcelona-Sants
- Ave. Duration
- 41 min
- Frequency
- Every 30 minutes
- Estimated price
- €11–17
- Website
- Renfe Viajeros
Train from Port-Bou to Girona
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €8–13
- Website
- Renfe Viajeros
Train from Girona to Barcelona-Sants
- Ave. Duration
- 41 min
- Frequency
- Every 30 minutes
- Estimated price
- €11–17
- Website
- Renfe Viajeros
Train from Port-Bou to Girona
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €8–13
- Website
- Renfe Viajeros
- Phone
- +34 900 41 00 41
- Website
- Rodalies de Catalunya
Train from Port-Bou to Girona
- Ave. Duration
- 1h 3m
- Frequency
- Every 2 hours
- Estimated price
- €7–18
- Website
- Rodalies de Catalunya
- Website
- Rodalies de Catalunya
Train from Port-Bou to Girona
- Ave. Duration
- 1h 3m
- Frequency
- Every 2 hours
- Estimated price
- €7–18
- Website
- Rodalies de Catalunya
- Website
- Rodalies de Catalunya
Train from Port-Bou to Girona
- Ave. Duration
- 1h 3m
- Frequency
- Every 2 hours
- Estimated price
- €7–18
- Website
- Rodalies de Catalunya
- Website
- Rodalies de Catalunya
Train from Port-Bou to Girona
- Ave. Duration
- 1h 3m
- Frequency
- Every 2 hours
- Estimated price
- €7–18
- Website
- Rodalies de Catalunya
- Website
- Rodalies de Catalunya
Train from Port-Bou to Girona
- Ave. Duration
- 1h 3m
- Frequency
- Every 2 hours
- Estimated price
- €7–18
- Website
- Rodalies de Catalunya
- Website
- Rodalies de Catalunya
- Phone
- +34 912 32 03 20
- accesibilidad@renfe.es
- Website
- Renfe Cercanias
Train from Port-Bou to Girona
- Ave. Duration
- 1h 5m
- Frequency
- 3 times a day
- Estimated price
- €5–10
- Website
- Renfe Cercanias
Train from Port-Bou to Girona
- Ave. Duration
- 1h 5m
- Frequency
- 3 times a day
- Estimated price
- €5–10
- Website
- Renfe Cercanias
Train from Port-Bou to Girona
- Ave. Duration
- 1h 5m
- Frequency
- 3 times a day
- Estimated price
- €5–10
- Website
- Renfe Cercanias
Train from Port-Bou to Girona
- Ave. Duration
- 1h 5m
- Frequency
- 3 times a day
- Estimated price
- €5–10
- Website
- Renfe Cercanias
Train from Port-Bou to Girona
- Ave. Duration
- 1h 5m
- Frequency
- 3 times a day
- Estimated price
- €5–10
- Website
- Renfe Cercanias
Rome2Rio's guide to Renfe AVE
Contact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe AVE
Train from Girona to Barcelona-Sants
- Ave. Duration
- 41 min
- Frequency
- Every 4 hours
- Estimated price
- €12–23
- Website
- Renfe AVE
Train from Girona to Barcelona-Sants
- Ave. Duration
- 41 min
- Frequency
- Every 4 hours
- Estimated price
- €12–23
- Website
- Renfe AVE
Train from Girona to Barcelona-Sants
- Ave. Duration
- 41 min
- Frequency
- Every 4 hours
- Estimated price
- €12–23
- Website
- Renfe AVE
Train from Girona to Barcelona-Sants
- Ave. Duration
- 41 min
- Frequency
- Every 4 hours
- Estimated price
- €12–23
- Website
- Renfe AVE
- Phone
- +33 1 84 94 36 35
- Website
- Oui.SNCF
Train from Port-Bou to Montpellier Saint-Roch
- Ave. Duration
- 3h 7m
- Frequency
- Every 4 hours
- Estimated price
- €35–65
- Website
- Oui.SNCF
Train from Montpellier Saint-Roch to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 1h 13m
- Frequency
- Twice daily
- Estimated price
- €40–65
- Website
- Oui.SNCF
Train from Valence Tgv Rhone-Alpes Sud to Chambery Challes Les Eaux
- Ave. Duration
- 1h 56m
- Frequency
- Hourly
- Estimated price
- €29–50
- Website
- Oui.SNCF
Train from Cerbere to Perpignan
- Ave. Duration
- 40 min
- Frequency
- Hourly
- Estimated price
- €8–13
- Website
- Oui.SNCF
Train from Port-Bou to Narbonne
- Ave. Duration
- 1h 51m
- Frequency
- Every 3 hours
- Estimated price
- €20–35
- Website
- Oui.SNCF
Train from Narbonne to Vitrolles Aeroport Marseille
- Ave. Duration
- 2h 53m
- Frequency
- Every 4 hours
- Estimated price
- €45–75
- Website
- Oui.SNCF
- Phone
- +33 4 13 94 30 50
- Website
- Zou! Lignes Express Régionales
Train from Port-Bou to Montpellier Saint-Roch
- Ave. Duration
- 3h 7m
- Frequency
- 3 times a day
- Estimated price
- €50–70
- Website
- Zou! Lignes Express Régionales
Train from Valence Tgv Rhone-Alpes Sud to Chambery Challes Les Eaux
- Ave. Duration
- 1h 54m
- Frequency
- Every 2 hours
- Estimated price
- €40–55
- Website
- Zou! Lignes Express Régionales
Train from Cerbere to Perpignan
- Ave. Duration
- 40 min
- Frequency
- 4 times a day
- Estimated price
- €10–15
- Website
- Zou! Lignes Express Régionales
Train from Port-Bou to Narbonne
- Ave. Duration
- 1h 51m
- Frequency
- 3 times a day
- Estimated price
- €27–40
- Website
- Zou! Lignes Express Régionales
Train from Narbonne to Vitrolles Aeroport Marseille
- Ave. Duration
- 2h 51m
- Frequency
- 4 times a day
- Estimated price
- €65–90
- Website
- Zou! Lignes Express Régionales
- Phone
- +33 1 84 94 36 35
- Website
- TGV inOui
Train from Montpellier Saint-Roch to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Estimated price
- €40–65
- Website
- TGV inOui
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Chambery Challes Les Eaux to Milano Centrale
- Ave. Duration
- 3h 21m
- Frequency
- 4 times a day
- Estimated price
- €40–55
- Website
- Trenitalia
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- Trenord
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Torino Porta di Susa to Milano Centrale
- Ave. Duration
- 47 min
- Frequency
- Hourly
- Estimated price
- €16–27
- Website
- Italo Treno
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Perpignan - Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 12h 35m
- Frequency
- 3 times a day
- Estimated price
- €65–110
- Website
- BlaBlaCar Bus
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Perpignan - Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 11h 40m
- Frequency
- 5 times a week
- Estimated price
- €75–120
- Website
- Flixbus
Bus from Girona, Estació d'Autobusos to Milano, Autostazione Lampugnano
- Ave. Duration
- 14h
- Frequency
- 3 times a week
- Estimated price
- €90–140
- Website
- Flixbus
- Phone
- +39 06 88 93 82 32
- Website
- Itabus S.p.A.
Bus from Perpignan - Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 10h 55m
- Frequency
- Once daily
- Estimated price
- €40–80
- Website
- Itabus S.p.A.
- customerservices@terravision.eu
- Website
- TERRAVISION
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–23
- Website
- TERRAVISION
- Phone
- 035.319366
- ticket@orioshuttle.com
- Website
- orioshuttle.com
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €11–14
- Schedules at
- orioshuttle.com
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.
Related travel guides
Italy Travel Guides
Read the travel guide
Getting to Milan from the airport
Read the travel guide
Train travel in Spain: A guide to Renfe
Read the travel guide
Booking & Getting There
There are 13771+ hotels available in Milan.
























































