There are 9 ways to get from Milan to Portbou by train (Trenitalia, TGV, Renfe), bus, train, car, plane, or train (Trenitalia, TGV)
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train via Lyon
best- Take the train from Milano Centrale to Lyon Part Dieutrain Fr
- Take the train from Lyon Part Dieu to Narbonnetrain Tgv
- Take the train from Narbonne to Port-Boutrain Ter
10h 59m€124–285Train to Milano Malpensa Airport, fly to Barcelona–El Prat Airport, train
cheapest- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Barcelona–El Prat Airport (BCN)plane MXP - BCN
- Take the train from Barcelona-Sants to Gironatrain
- Take the train from Girona to Port-Boutrain
7h 12m€40–141Bus, train
- Take the bus from Milano, Autostazione Lampugnano to Perpignan - Bus Stationbus BlaBlaCar Bus
- Take the train from Perpignan to Cerberetrain Ter
13h 32m€58–150Drive 780.4 km
- Drive from Milan to Portboucar 780.4 km
9h 22m€123–177Bus, train via Duomo M1
- Take the bus from Milan to Perpignanbus FlixBus N740
- Take the train from Perpignan to Port-Boutrain Ter
13h 44m€74–144Train
- Take the train from Milano Centrale to Ventimigliatrain Ic
- Take the train from Nice-Ville to Marseille-Saint-Charlestrain
- Take the train from Marseille St Charles to Setetrain Ter
- Take the train from Sete to Port-Boutrain Ter
14h 33m€143–389Bus to Il Caravaggio International Airport, fly to Barcelona–El Prat Airport, train
- Take the bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airportbus
- Fly from Il Caravaggio International Airport (BGY) to Barcelona–El Prat Airport (BCN)plane BGY - BCN
- Take the train from Barcelona-Sants to Gironatrain
- Take the train from Girona to Port-Boutrain
7h 24m€64–236Fly Milan Linate Airport to Barcelona–El Prat Airport, train
- Fly from Milan Linate Airport (LIN) to Barcelona–El Prat Airport (BCN)plane LIN - BCN
- Take the train from Barcelona-Sants to Gironatrain
- Take the train from Girona to Port-Boutrain
6h 45m€61–213Train to Milano Malpensa Airport, fly to Marseille Provence Airport, train
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Marseille Provence Airport (MRS)plane MXP - MRS
- Take the train from Aix En Provence Tgv to Perpignantrain
- Take the train from Perpignan to Port-Boutrain
9h 41m€99–256
Milan to Portbou by train
Questions & Answers
The cheapest way to get from Milan to Portbou is to train and fly which costs €40 - €150 and takes 7h 12m.
The fastest way to get from Milan to Portbou is to fly and train which takes 6h 45m and costs €60 - €220.
No, there is no direct train from Milan to Portbou. However, there are services departing from Milano Centrale and arriving at Port-Bou via Lyon Part Dieu and Narbonne. The journey, including transfers, takes approximately 10h 59m.
The distance between Milan and Portbou is 963 km. The road distance is 780.4 km.
The best way to get from Milan to Portbou without a car is to train via Lyon which takes 10h 59m and costs €120 - €290.
It takes approximately 10h 59m to get from Milan to Portbou, including transfers.
Milan to Portbou train services, operated by Trenitalia, depart from Milano Centrale station.
Milan to Portbou train services, operated by Trenitalia, arrive at Lyon Part Dieu station.
Yes, the driving distance between Milan to Portbou is 780 km. It takes approximately 9h 22m to drive from Milan to Portbou.
Book your Milan to Portbou train tickets online with Omio.
What companies run services between Milan, Italy and Portbou, Spain?
You can take a train from Milano Centrale to Port-Bou via Lyon Part Dieu and Narbonne in around 10h 59m.
- Website
- ryanair.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €23–65
Flights from Il Caravaggio International Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €35–150
Flights from Il Caravaggio International Airport to Barcelona–El Prat Airport via Palma Mallorca
- Ave. Duration
- 3h 15m
- When
- Tuesday
- Estimated price
- €35–150
- Website
- vueling.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €19–85
- Website
- easyjet.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 37m
- When
- Every day
- Estimated price
- €22–85
Flights from Milan Linate Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 40m
- When
- Tuesday, Wednesday, and Friday
- Estimated price
- €27–140
- Website
- flyulendo.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €13–65
- Website
- singaporeair.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 35m
- When
- Wednesday, Thursday, and Sunday
- Estimated price
- €50–130
- Website
- twinjet.fr
Flights from Milano Malpensa Airport to Marseille Provence Airport
- Ave. Duration
- 1h 15m
- When
- Monday to Thursday
- Estimated price
- €480–700
- Website
- swiss.com
Flights from Milano Malpensa Airport to Marseille Provence Airport via Zurich
- Ave. Duration
- 3h 10m
- When
- Monday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- €80–270
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Milano Centrale to Lyon Part Dieu
- Ave. Duration
- 4h 44m
- Frequency
- 4 times a day
- Estimated price
- €55–90
- Website
- Trenitalia
Train from Milano Centrale to Ventimiglia
- Ave. Duration
- 4h 25m
- Frequency
- 6 times a week
- Estimated price
- €35–60
- Website
- Trenitalia
- Phone
- +33 1 84 94 36 35
- Website
- TGV inOui
Train from Lyon Part Dieu to Narbonne
- Ave. Duration
- 2h 57m
- Frequency
- Every 4 hours
- Estimated price
- €80–140
- Website
- TGV inOui
Train from Nice-Ville to Marseille-Saint-Charles
- Ave. Duration
- 2h 37m
- Frequency
- Hourly
- Estimated price
- €45–75
- Website
- TGV inOui
Rome2Rio's guide to Renfe Viajeros
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Lyon Part Dieu to Narbonne
- Ave. Duration
- 2h 43m
- Frequency
- 4 times a day
- Estimated price
- €50–80
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Girona
- Ave. Duration
- 41 min
- Frequency
- Every 30 minutes
- Estimated price
- €12–19
- Website
- Renfe Viajeros
Train from Girona to Port-Bou
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €8–13
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Girona
- Ave. Duration
- 41 min
- Frequency
- Every 30 minutes
- Estimated price
- €12–19
- Website
- Renfe Viajeros
Train from Girona to Port-Bou
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €8–13
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Girona
- Ave. Duration
- 41 min
- Frequency
- Every 30 minutes
- Estimated price
- €12–19
- Website
- Renfe Viajeros
Train from Girona to Port-Bou
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €8–13
- Website
- Renfe Viajeros
Train from Aix En Provence Tgv to Perpignan
- Ave. Duration
- 2h 50m
- Frequency
- 4 times a day
- Estimated price
- €40–65
- Website
- Renfe Viajeros
- Phone
- +33 1 84 94 36 35
- Website
- Oui.SNCF
Train from Narbonne to Port-Bou
- Ave. Duration
- 1h 37m
- Frequency
- Hourly
- Estimated price
- €18–40
- Website
- Oui.SNCF
Train from Perpignan to Cerbere
- Ave. Duration
- 35 min
- Frequency
- Hourly
- Estimated price
- €6–14
- Website
- Oui.SNCF
Train from Perpignan to Port-Bou
- Ave. Duration
- 49 min
- Frequency
- Hourly
- Estimated price
- €7–15
- Website
- Oui.SNCF
Train from Marseille St Charles to Sete
- Ave. Duration
- 2h 21m
- Frequency
- Every 2 hours
- Estimated price
- €30–70
- Website
- Oui.SNCF
Train from Sete to Port-Bou
- Ave. Duration
- 2h 35m
- Frequency
- Every 3 hours
- Estimated price
- €29–60
- Website
- Oui.SNCF
Train from Perpignan to Port-Bou
- Ave. Duration
- 49 min
- Frequency
- Hourly
- Estimated price
- €7–15
- Website
- Oui.SNCF
- Phone
- +33 4 13 94 30 50
- Website
- Zou! Lignes Express Régionales
Train from Narbonne to Port-Bou
- Ave. Duration
- 1h 37m
- Frequency
- 5 times a day
- Estimated price
- €27–55
- Website
- Zou! Lignes Express Régionales
Train from Perpignan to Cerbere
- Ave. Duration
- 35 min
- Frequency
- Every 4 hours
- Estimated price
- €10–21
- Website
- Zou! Lignes Express Régionales
Train from Perpignan to Port-Bou
- Ave. Duration
- 49 min
- Frequency
- 5 times a day
- Estimated price
- €11–22
- Website
- Zou! Lignes Express Régionales
Train from Nice-Ville to Marseille-Saint-Charles
- Ave. Duration
- 2h 39m
- Frequency
- Hourly
- Estimated price
- €55–120
- Website
- Zou! Lignes Express Régionales
Train from Marseille St Charles to Sete
- Ave. Duration
- 2h 25m
- Frequency
- 4 times a day
- Estimated price
- €50–100
- Website
- Zou! Lignes Express Régionales
Train from Sete to Port-Bou
- Ave. Duration
- 2h 35m
- Frequency
- 5 times a day
- Estimated price
- €45–90
- Website
- Zou! Lignes Express Régionales
Train from Perpignan to Port-Bou
- Ave. Duration
- 49 min
- Frequency
- 5 times a day
- Estimated price
- €11–22
- Website
- Zou! Lignes Express Régionales
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- Trenord
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- Trenord
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- Trenord
Rome2Rio's guide to Renfe AVE
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe AVE
Train from Barcelona-Sants to Girona
- Ave. Duration
- 20 min
- Frequency
- Every 2 hours
- Estimated price
- €14–25
- Website
- Renfe AVE
Train from Barcelona-Sants to Girona
- Ave. Duration
- 20 min
- Frequency
- Every 2 hours
- Estimated price
- €14–25
- Website
- Renfe AVE
Train from Barcelona-Sants to Girona
- Ave. Duration
- 20 min
- Frequency
- Every 2 hours
- Estimated price
- €14–25
- Website
- Renfe AVE
- Phone
- +34 900 41 00 41
- Website
- Rodalies de Catalunya
Train from Girona to Port-Bou
- Ave. Duration
- 1h 3m
- Frequency
- Every 2 hours
- Estimated price
- €8–21
- Website
- Rodalies de Catalunya
- Website
- Rodalies de Catalunya
Train from Girona to Port-Bou
- Ave. Duration
- 1h 3m
- Frequency
- Every 2 hours
- Estimated price
- €8–21
- Website
- Rodalies de Catalunya
- Website
- Rodalies de Catalunya
Train from Girona to Port-Bou
- Ave. Duration
- 1h 3m
- Frequency
- Every 2 hours
- Estimated price
- €8–21
- Website
- Rodalies de Catalunya
- Website
- Rodalies de Catalunya
- Phone
- +34 912 32 03 20
- accesibilidad@renfe.es
- Website
- Renfe Cercanias
Train from Girona to Port-Bou
- Ave. Duration
- 1h 4m
- Frequency
- 3 times a day
- Estimated price
- €6–17
- Website
- Renfe Cercanias
Train from Girona to Port-Bou
- Ave. Duration
- 1h 4m
- Frequency
- 3 times a day
- Estimated price
- €6–17
- Website
- Renfe Cercanias
Train from Girona to Port-Bou
- Ave. Duration
- 1h 4m
- Frequency
- 3 times a day
- Estimated price
- €6–17
- Website
- Renfe Cercanias
- Phone
- +39 06 68475475
- Website
- Trenitalia Intercity
Train from Milano Centrale to Ventimiglia
- Ave. Duration
- 3h 54m
- Frequency
- Hourly
- Estimated price
- €30–65
- Website
- Trenitalia Intercity
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Milano, Autostazione Lampugnano to Perpignan - Bus Station
- Ave. Duration
- 12h 30m
- Frequency
- Twice daily
- Estimated price
- €70–130
- Website
- BlaBlaCar Bus
- Phone
- +39 06 88 93 82 32
- Website
- Itabus S.p.A.
Bus from Milano, Autostazione Lampugnano to Perpignan - Bus Station
- Ave. Duration
- 11h
- Frequency
- Once daily
- Estimated price
- €50–110
- Website
- Itabus S.p.A.
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Milan to Perpignan
- Ave. Duration
- 11h 5m
- Frequency
- Twice daily
- Estimated price
- €65–120
- Website
- Flixbus
- customerservices@terravision.eu
- Website
- TERRAVISION
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–25
- Website
- TERRAVISION
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.
Related travel guides
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
Train travel in Spain: A guide to Renfe
Read the travel guide
What are the different types of Renfe trains in Spain?
Read the travel guide
More Questions & Answers
There are 6950+ hotels available in Portbou.



















































