There are 10 ways to get from Milan to Portbou by train (Trenitalia, Renfe, TGV), bus, train, car, plane, or train (Trenitalia, TGV, Renfe)
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train
best- Take the train from Milano Centrale to Lyon Part Dieutrain Fr
- Take the train from Lyon Part Dieu to Perpignantrain
- Take the train from Perpignan to Port-Boutrain Ter
10h 55m€67–192Train 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 Port-Boutrain
8h 32m€43–141Bus, train
- Take the bus from Milano, Autostazione Lampugnano to Perpignan - Bus Stationbus BlaBlaCar Bus
- Take the train from Perpignan to Cerberetrain Ter
14h 6m€61–88Drive 780.5 km
- Drive from Milan to Portboucar 780.5 km
9h 20m€124–179Train via Montpellier
- Take the train from Milano Centrale to Chambery Challes Les Eauxtrain Fr
- Take the train from Chambery Challes Les Eaux to Valence Tgv Rhone-Alpes Sudtrain Ter
- Take the train from Valence Tgv Rhone-Alpes Sud to Montpellier Saint-Rochtrain Tgv
- Take the train from Montpellier Saint-Roch to Port-Boutrain Ter
12h 12m€94–243Bus, train via Duomo M1
- Take the bus from Milan to Perpignanbus FlixBus N740
- Take the train from Perpignan to Port-Boutrain Ter
14h 10m€59–108Fly 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 Port-Boutrain
8h 1m€49–188Bus to Il Caravaggio International Airport, fly to Barcelona–El Prat Airport, train
- Take the bus from Piazza Luigi di Savoia to Bergamo Airport Bus Stationbus
- Fly from Il Caravaggio International Airport (BGY) to Barcelona–El Prat Airport (BCN)plane BGY - BCN
- Take the train from Barcelona-Sants to Port-Boutrain
8h 49m€53–193Train to Turin Caselle Airport, fly to Barcelona–El Prat Airport, train
- Take the train from Milano Centrale to Torino Porta di Susatrain
- Fly from Turin Caselle Airport (TRN) to Barcelona–El Prat Airport (BCN)plane TRN - BCN
- Take the train from Barcelona-Sants to Port-Boutrain
9h 17m€90–233Train 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
10h 9m€96–245
Milan to Portbou by train
Questions & Answers
The cheapest way to get from Milan to Portbou is to bus and train via Duomo M1 which costs €55 - €110 and takes 14h 10m.
The fastest way to get from Milan to Portbou is to fly and train which takes 8h 1m and costs €45 - €190.
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 Perpignan. The journey, including transfers, takes approximately 10h 55m.
The distance between Milan and Portbou is 963 km. The road distance is 780.5 km.
The best way to get from Milan to Portbou without a car is to train which takes 10h 55m and costs €65 - €200.
It takes approximately 10h 55m 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 20m 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 Perpignan in around 10h 55m.
- Website
- ryanair.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 45m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €25–140
Flights from Il Caravaggio International Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €30–130
Flights from Turin Caselle Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 40m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €35–150
- Website
- easyjet.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €22–80
Flights from Milan Linate Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 35m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €26–130
- Website
- vueling.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 38m
- When
- Every day
- Estimated price
- €20–90
Flights from Turin Caselle Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 30m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- €30–110
- Website
- twinjet.fr
Flights from Milano Malpensa Airport to Marseille Provence Airport
- Ave. Duration
- 1h 15m
- When
- Monday to Friday
- Estimated price
- €360–800
- Website
- flyulendo.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €20–85
- Website
- singaporeair.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 40m
- When
- Wednesday, Thursday, and Sunday
- Estimated price
- €60–430
- Website
- swiss.com
Flights from Milano Malpensa Airport to Marseille Provence Airport via Zurich
- Ave. Duration
- 3h 25m
- When
- Monday, Wednesday, and Saturday
- Estimated price
- €70–280
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Milano Centrale to Lyon Part Dieu
- Ave. Duration
- 4h 47m
- Frequency
- Twice daily
- Estimated price
- €25–40
- Website
- https://www.trenitalia.com/en.html
Train from Milano Centrale to Chambery Challes Les Eaux
- Ave. Duration
- 3h 27m
- Frequency
- Twice daily
- Estimated price
- €19–28
- Website
- https://www.trenitalia.com/en.html
Rome2Rio's guide to Renfe Viajeros
Contact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Lyon Part Dieu to Perpignan
- Ave. Duration
- 3h 18m
- Frequency
- Twice daily
- Estimated price
- €35–55
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Port-Bou
- Ave. Duration
- 2h 35m
- Frequency
- Every 2 hours
- Estimated price
- €15–20
- Website
- https://www.renfe.com/es/en
Train from Valence Tgv Rhone-Alpes Sud to Montpellier Saint-Roch
- Ave. Duration
- 1h 13m
- Frequency
- Twice daily
- Estimated price
- €18–25
- Website
- https://www.renfe.com/es/en
Train from Aix En Provence Tgv to Perpignan
- Ave. Duration
- 2h 53m
- Frequency
- Twice daily
- Estimated price
- €27–40
- Website
- https://www.renfe.com/es/en
- Phone
- +33 1 84 94 36 35
- Website
- sncf-connect.com
Train from Lyon Part Dieu to Perpignan
- Ave. Duration
- 3h 42m
- Frequency
- Twice a week
- Estimated price
- €75–140
- Website
- https://www.sncf-connect.com/en-en
- 2nd Class
- €75–110
- 1st Class
- €100–140
Train from Valence Tgv Rhone-Alpes Sud to Montpellier Saint-Roch
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Estimated price
- €40–80
- Website
- https://www.sncf-connect.com/en-en
- 2nd Class
- €40–55
- 1st Class
- €60–80
- Phone
- +33 1 84 94 36 35
- Website
- track.effiliation.com
Train from Perpignan to Port-Bou
- Ave. Duration
- 50 min
- Frequency
- Every 4 hours
- Estimated price
- €7–16
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- 2nd Class
- €7–11
- Rail 1st Class
- €11–16
Train from Perpignan to Cerbere
- Ave. Duration
- 36 min
- Frequency
- Every 3 hours
- Estimated price
- €7–15
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- 2nd Class
- €7–10
- Rail 1st Class
- €10–15
Train from Chambery Challes Les Eaux to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 1h 54m
- Frequency
- Hourly
- Estimated price
- €26–60
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- 2nd Class
- €26–40
- Rail 1st Class
- €40–60
Train from Valence Tgv Rhone-Alpes Sud to Montpellier Saint-Roch
- Ave. Duration
- 1h 11m
- Frequency
- Once a week
- Estimated price
- €35–80
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- 2nd Class
- €35–55
- Rail 1st Class
- €55–80
Train from Montpellier Saint-Roch to Port-Bou
- Ave. Duration
- 2h 54m
- Frequency
- 5 times a day
- Estimated price
- €30–75
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- 2nd Class
- €30–50
- Rail 1st Class
- €50–75
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Milano Centrale to Torino Porta di Susa
- Ave. Duration
- 48 min
- Frequency
- Hourly
- Estimated price
- €30–45
- Website
- https://www.italotreno.it/en
- Smart Economy
- €30–45
- Smart Flex
- €35–45
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Milano, Autostazione Lampugnano to Perpignan - Bus Station
- Ave. Duration
- 12h 30m
- Frequency
- Twice daily
- Estimated price
- €50–75
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Milan to Perpignan
- Ave. Duration
- 11h 5m
- Frequency
- 3 times a day
- Estimated price
- €50–90
- Website
- https://www.flixbus.co.uk
- info@flibco.com
- Website
- flibco.com
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €8–12
- Website
- https://www.flibco.com/en
- Phone
- +39 02 3008 9000
- mail@autostradale.it
- Website
- autostradale.it
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 1h
- Frequency
- Every 30 minutes
- Estimated price
- €4–17
- Website
- https://autostradale.it/?lang=en-GB
- Standard Rate
- €13–17
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 5969+ hotels available in Portbou.



















































