There are 9 ways to get from Milan to Portbou by train (Trenitalia, TGV, Renfe), bus, train, car, or plane
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 Montpellier Saint-Rochtrain Tgv
- Take the train from Montpellier Saint-Roch to Port-Boutrain Ter
10h 51m€126–309Train 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 11m€42–152Bus, train
- Take the bus from Milano, Autostazione Lampugnano to Perpignan - Bus Stationbus BlaBlaCar Bus
- Take the train from Perpignan to Cerberetrain Ter
13h 32m€59–148Drive 780.4 km
- Drive from Milan to Portboucar 780.4 km
9h 22m€123–178Train via Saint-Marcel-lès-Valence
- 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
11h€124–327Bus, train via Duomo M1
- Take the bus from Milan to Perpignanbus FlixBus N740
- Take the train from Perpignan to Port-Boutrain Ter
13h 44m€69–124Fly 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 39m€56–249Bus 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 23m€64–272Train 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€104–266
Milan to Portbou by train
Questions & Answers
The cheapest way to get from Milan to Portbou is to train and fly which costs €40 - €160 and takes 7h 11m.
The fastest way to get from Milan to Portbou is to fly and train which takes 6h 39m and costs €55 - €250.
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 Montpellier Saint-Roch. The journey, including transfers, takes approximately 10h 51m.
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 which takes 10h 51m and costs €120 - €310.
It takes approximately 10h 51m 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 Montpellier Saint-Roch in around 10h 51m.
- Website
- ryanair.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €26–65
Flights from Il Caravaggio International Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €40–180
Flights from Il Caravaggio International Airport to Barcelona–El Prat Airport via Palma Mallorca
- Ave. Duration
- 3h 15m
- When
- Tuesday
- Estimated price
- €40–180
- Website
- vueling.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €20–95
- Website
- easyjet.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 36m
- When
- Every day
- Estimated price
- €20–90
Flights from Milan Linate Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €25–140
- Website
- twinjet.fr
Flights from Milano Malpensa Airport to Marseille Provence Airport
- Ave. Duration
- 1h 15m
- When
- Monday to Friday
- Estimated price
- €480–750
- Website
- flyulendo.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €15–70
- 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–110
- Website
- swiss.com
Flights from Milano Malpensa Airport to Marseille Provence Airport via Zurich
- Ave. Duration
- 3h 20m
- When
- Wednesday
- Estimated price
- €80–280
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Milano Centrale to Lyon Part Dieu
- Ave. Duration
- 4h 39m
- Frequency
- 4 times a day
- Estimated price
- €55–90
- Website
- Trenitalia
Train from Milano Centrale to Chambery Challes Les Eaux
- Ave. Duration
- 3h 22m
- Frequency
- 4 times a day
- Estimated price
- €40–70
- Website
- Trenitalia
- Phone
- +33 1 84 94 36 35
- Website
- TGV inOui
Train from Lyon Part Dieu to Montpellier Saint-Roch
- Ave. Duration
- 1h 54m
- Frequency
- Hourly
- Estimated price
- €60–100
- Website
- TGV inOui
Train from Barcelona-Sants to Girona
- Ave. Duration
- 41 min
- Frequency
- Twice daily
- Estimated price
- €18–30
- Website
- TGV inOui
Train from Valence Tgv Rhone-Alpes Sud to Montpellier Saint-Roch
- Ave. Duration
- 1h 16m
- Frequency
- Hourly
- Estimated price
- €40–70
- Website
- TGV inOui
Train from Barcelona-Sants to Girona
- Ave. Duration
- 41 min
- Frequency
- Twice daily
- Estimated price
- €18–30
- Website
- TGV inOui
Train from Barcelona-Sants to Girona
- Ave. Duration
- 41 min
- Frequency
- Twice daily
- Estimated price
- €18–30
- 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 Montpellier Saint-Roch
- Ave. Duration
- 1h 49m
- Frequency
- 4 times a day
- Estimated price
- €40–65
- 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 Valence Tgv Rhone-Alpes Sud to Montpellier Saint-Roch
- Ave. Duration
- 1h 13m
- Frequency
- 4 times a day
- Estimated price
- €27–45
- 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 Lyon Part Dieu to Montpellier Saint-Roch
- Ave. Duration
- 1h 56m
- Frequency
- Once a week
- Estimated price
- €50–110
- Website
- Oui.SNCF
Train from Montpellier Saint-Roch to Port-Bou
- Ave. Duration
- 2h 53m
- Frequency
- Every 3 hours
- Estimated price
- €30–70
- Website
- Oui.SNCF
Train from Perpignan to Cerbere
- Ave. Duration
- 35 min
- Frequency
- Hourly
- Estimated price
- €6–14
- Website
- Oui.SNCF
Train from Chambery Challes Les Eaux to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 1h 54m
- Frequency
- Hourly
- Estimated price
- €25–55
- Website
- Oui.SNCF
Train from Valence Tgv Rhone-Alpes Sud to Montpellier Saint-Roch
- Ave. Duration
- 1h 18m
- Frequency
- Once a week
- Estimated price
- €30–70
- Website
- Oui.SNCF
Train from Montpellier Saint-Roch to Port-Bou
- Ave. Duration
- 2h 53m
- Frequency
- Every 3 hours
- Estimated price
- €30–70
- Website
- Oui.SNCF
Train from Perpignan to Port-Bou
- Ave. Duration
- 49 min
- Frequency
- Hourly
- Estimated price
- €7–15
- 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 Montpellier Saint-Roch to Port-Bou
- Ave. Duration
- 2h 53m
- Frequency
- 5 times a day
- Estimated price
- €50–110
- 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 Chambery Challes Les Eaux to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- €40–80
- Website
- Zou! Lignes Express Régionales
Train from Montpellier Saint-Roch to Port-Bou
- Ave. Duration
- 2h 53m
- Frequency
- 5 times a day
- Estimated price
- €50–110
- 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 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
- Hourly
- Estimated price
- €14–25
- Website
- Renfe AVE
Train from Barcelona-Sants to Girona
- Ave. Duration
- 20 min
- Frequency
- Hourly
- Estimated price
- €14–25
- Website
- Renfe AVE
Train from Barcelona-Sants to Girona
- Ave. Duration
- 20 min
- Frequency
- Hourly
- 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–22
- 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–22
- 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–22
- 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
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Milano, Autostazione Lampugnano to Perpignan - Bus Station
- Ave. Duration
- 12h 30m
- Frequency
- 3 times a day
- 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–120
- 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
- €60–100
- 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 6482+ hotels available in Portbou.















































