There are 9 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 43m€123–272Train 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 Portboutrain
7h 31m€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 50m€59–149Drive 780.4 km
- Drive from Milan to Portboucar 780.4 km
9h 22m€123–178Train 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
11h 41m€125–328Bus, train via Duomo M1
- Take the bus from Milan to Perpignanbus FlixBus N740
- Take the train from Perpignan to Port-Boutrain Ter
14h 6m€69–134Fly 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 Portboutrain
6h 59m€61–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 Portboutrain
7h 43m€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
10h 3m€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 31m.
The fastest way to get from Milan to Portbou is to fly and train which takes 6h 59m and costs €60 - €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 Perpignan. The journey, including transfers, takes approximately 10h 43m.
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 43m and costs €120 - €280.
It takes approximately 10h 43m 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 Perpignan in around 10h 43m.
- Website
- ryanair.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €26–95
Flights from Il Caravaggio International Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €40–190
Flights from Il Caravaggio International Airport to Barcelona–El Prat Airport via Palma Mallorca
- Ave. Duration
- 3h 15m
- When
- Tuesday
- Estimated price
- €40–190
- Website
- vueling.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €20–90
- Website
- easyjet.com
Flights from Milano Malpensa Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 38m
- When
- Every day
- Estimated price
- €21–90
Flights from Milan Linate Airport to Barcelona–El Prat Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €24–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
- €55–120
- 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
- Twice daily
- Estimated price
- €55–90
- Website
- Trenitalia
Train from Milano Centrale to Chambery Challes Les Eaux
- Ave. Duration
- 3h 22m
- Frequency
- Twice daily
- Estimated price
- €40–70
- Website
- Trenitalia
Rome2Rio's guide to Renfe Viajeros
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Lyon Part Dieu to Perpignan
- Ave. Duration
- 3h 18m
- Frequency
- Twice daily
- Estimated price
- €60–95
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Girona
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €12–19
- Website
- Renfe Viajeros
Train from Girona to Portbou
- Ave. Duration
- 1h 3m
- Frequency
- Every 2 hours
- Estimated price
- €8–13
- Website
- Renfe Viajeros
Train from Valence Tgv Rhone-Alpes Sud to Montpellier Saint-Roch
- Ave. Duration
- 1h 13m
- Frequency
- Twice daily
- Estimated price
- €27–45
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Girona
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €12–19
- Website
- Renfe Viajeros
Train from Girona to Portbou
- Ave. Duration
- 1h 3m
- Frequency
- Every 2 hours
- Estimated price
- €8–13
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Girona
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €12–19
- Website
- Renfe Viajeros
Train from Girona to Portbou
- Ave. Duration
- 1h 3m
- Frequency
- Every 2 hours
- Estimated price
- €8–13
- Website
- Renfe Viajeros
Train from Aix En Provence Tgv to Perpignan
- Ave. Duration
- 2h 50m
- Frequency
- Twice daily
- Estimated price
- €40–65
- Website
- Renfe Viajeros
- Phone
- +33 1 84 94 36 35
- Website
- TGV inOui
Train from Lyon Part Dieu to Perpignan
- Ave. Duration
- 3h 42m
- Frequency
- Twice a week
- Estimated price
- €95–160
- Website
- TGV inOui
Train from Barcelona-Sants to Girona
- Ave. Duration
- 41 min
- Frequency
- Once daily
- Estimated price
- €19–30
- Website
- TGV inOui
Train from Valence Tgv Rhone-Alpes Sud to Montpellier Saint-Roch
- Ave. Duration
- 1h 14m
- Frequency
- Every 2 hours
- Estimated price
- €40–70
- Website
- TGV inOui
Train from Barcelona-Sants to Girona
- Ave. Duration
- 41 min
- Frequency
- Once daily
- Estimated price
- €19–30
- Website
- TGV inOui
Train from Barcelona-Sants to Girona
- Ave. Duration
- 41 min
- Frequency
- Once daily
- Estimated price
- €19–30
- Website
- TGV inOui
- Phone
- +33 1 84 94 36 35
- Website
- Oui.SNCF
Train from Perpignan to Port-Bou
- Ave. Duration
- 49 min
- Frequency
- Every 4 hours
- Estimated price
- €7–15
- Website
- Oui.SNCF
Train from Perpignan to Cerbere
- Ave. Duration
- 35 min
- Frequency
- Every 3 hours
- 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
- €35–70
- Website
- Oui.SNCF
Train from Montpellier Saint-Roch to Port-Bou
- Ave. Duration
- 2h 53m
- Frequency
- 5 times a day
- Estimated price
- €30–70
- Website
- Oui.SNCF
Train from Perpignan to Port-Bou
- Ave. Duration
- 49 min
- Frequency
- Every 4 hours
- Estimated price
- €7–15
- Website
- Oui.SNCF
Train from Perpignan to Port-Bou
- Ave. Duration
- 49 min
- Frequency
- Every 4 hours
- Estimated price
- €7–15
- Website
- Oui.SNCF
- Phone
- +33 4 13 94 30 50
- 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 Cerbere
- Ave. Duration
- 35 min
- Frequency
- 5 times a day
- 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 54m
- 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
- [email protected]
- 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 4 hours
- Estimated price
- €14–25
- Website
- Renfe AVE
Train from Barcelona-Sants to Girona
- Ave. Duration
- 20 min
- Frequency
- Every 4 hours
- Estimated price
- €14–25
- Website
- Renfe AVE
Train from Barcelona-Sants to Girona
- Ave. Duration
- 20 min
- Frequency
- Every 4 hours
- Estimated price
- €14–25
- Website
- Renfe AVE
- Phone
- +34 900 41 00 41
- Website
- Rodalies de Catalunya
Train from Girona to Portbou
- Ave. Duration
- 1h 3m
- Frequency
- Every 2 hours
- Estimated price
- €8–22
- Website
- Rodalies de Catalunya
- Website
- Rodalies de Catalunya
Train from Girona to Portbou
- Ave. Duration
- 1h 3m
- Frequency
- Every 2 hours
- Estimated price
- €8–22
- Website
- Rodalies de Catalunya
- Website
- Rodalies de Catalunya
Train from Girona to Portbou
- 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
- [email protected]
- Website
- Renfe Cercanias
Train from Girona to Portbou
- Ave. Duration
- 1h 4m
- Frequency
- 3 times a day
- Estimated price
- €6–17
- Website
- Renfe Cercanias
Train from Girona to Portbou
- Ave. Duration
- 1h 4m
- Frequency
- 3 times a day
- Estimated price
- €6–17
- Website
- Renfe Cercanias
Train from Girona to Portbou
- 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
- 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
- [email protected]
- Website
- Flixbus
Bus from Milan to Perpignan
- Ave. Duration
- 11h 5m
- Frequency
- Twice daily
- Estimated price
- €60–110
- Website
- Flixbus
- [email protected]
- 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 6635+ hotels available in Portbou.















































