There are 9 ways to get from Portbou to Milan by train (TGV, Renfe, Trenitalia), bus, car, train, plane, or train (Trenitalia)
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 Cerbere to Perpignantrain Ter
- Take the train from Perpignan to Valence Tgv Rhone-Alpes Sudtrain Tgv
- Take the train from Valence Tgv Rhone-Alpes Sud to Lyon Part Dieutrain Tgv
- Take the train from Lyon Part Dieu to Milano Centraletrain Fr
11h 20m€101–270Train to Barcelona–El Prat Airport, fly to Milano Malpensa Airport, train
cheapest- Take the train from Port-Bou to Barcelona-Paseo De Graciatrain
- 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 50m€41–131Bus
- Take the bus from CERBÈRE - Centre-Ville to PERPIGNAN - Gare Routière Bd St Assisclebus 540
- Take the bus from Perpignan - Bus Station to Milano, Autostazione Lampugnanobus BlaBlaCar Bus
15h 20mDrive 782.6 km
- Drive from Portbou to Milancar 782.6 km
9h 23m€122–176Train to Barcelona–El Prat Airport, fly to Milan Linate Airport
- Take the train from Port-Bou to Barcelona-Paseo De Graciatrain
- Fly from Barcelona–El Prat Airport (BCN) to Milan Linate Airport (LIN)plane BCN - LIN
7h 6m€45–188Train via Avignon
- Take the train from Port-Bou to Avignon Centretrain Ter
- Take the train from Avignon Centre to Chambery Challes Les Eauxtrain Ter
- Take the train from Chambery Challes Les Eaux to Milano Centraletrain Fr
13h 3m€156–335Train, bus
- Take the train from Cerbere to Narbonnetrain Ter
- Take the bus from Narbonne Bus Station Av. Maréchal Foch to Milano, Autostazione Lampugnanobus Union Ivkoni - Unibus 3602 / ...
16h 1m€48–118Train to Barcelona–El Prat Airport, fly to Il Caravaggio International Airport
- Take the train from Port-Bou to Barcelona-Paseo De Graciatrain
- Fly from Barcelona–El Prat Airport (BCN) to Il Caravaggio International Airport (BGY)plane BCN - BGY
7h 45m€57–200Train, train to Marseille Provence Airport, fly to Milano Malpensa Airport
- Take the train from Cerbere to Perpignantrain
- Take the train from Perpignan to Aix En Provence Tgvtrain
- 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
9h 36m€91–236
Portbou to Milan by train
Questions & Answers
The cheapest way to get from Portbou to Milan is to train and fly which costs €40 - €140 and takes 7h 50m.
The fastest way to get from Portbou to Milan is to train and fly which takes 7h 6m and costs €40 - €190.
No, there is no direct bus from Portbou to Milan. However, there are services departing from CERBÈRE - Centre-Ville and arriving at Milano, Autostazione Lampugnano via Perpignan - Bus Station. The journey, including transfers, takes approximately 15h 20m.
No, there is no direct train from Portbou to Milan. However, there are services departing from Cerbere and arriving at Milano Centrale via Perpignan, Valence Tgv Rhone-Alpes Sud and Lyon Part Dieu. The journey, including transfers, takes approximately 11h 20m.
The distance between Portbou and Milan is 954 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 20m and costs €100 - €270.
It takes approximately 11h 20m to get from Portbou to Milan, including transfers.
Portbou to Milan bus services, operated by liO Occitanie - Pyrénées-Orientales, depart from CERBÈRE - Centre-Ville station.
Portbou to Milan train services, operated by Société Nationale des Chemins de fer Français (SNCF), depart from Cerbere station.
The best way to get from Portbou to Milan is to train which takes 11h 20m and costs €100 - €270. Alternatively, you can bus, which costs and takes 15h 20m.
What companies run services between Portbou, Spain and Milan, Italy?
You can take a train from Cerbere to Milano Centrale via Perpignan, Valence Tgv Rhone-Alpes Sud, and Lyon Part Dieu in around 11h 20m. Alternatively, you can take a bus from CERBÈRE - Centre-Ville to Milano, Autostazione Lampugnano via PERPIGNAN - Gare Routière Bd St Assiscle and Perpignan - Bus Station in around 15h 20m.
- Website
- ryanair.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €23–140
Flights from Barcelona–El Prat Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €30–130
Flights from Barcelona–El Prat Airport to Il Caravaggio International Airport via Palma Mallorca
- Ave. Duration
- 4h 25m
- When
- Saturday
- Estimated price
- €30–130
- Website
- easyjet.com
Flights from Barcelona–El Prat Airport to Milan Linate Airport
- Ave. Duration
- 1h 40m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €25–120
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 44m
- When
- Every day
- Estimated price
- €22–85
- Website
- vueling.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 38m
- When
- Every day
- Estimated price
- €18–90
- Website
- ita-airways.com
Flights from Barcelona–El Prat Airport to Milan Linate Airport via Palma Mallorca
- Ave. Duration
- 4h 5m
- When
- Saturday
- Estimated price
- €75–180
Flights from Barcelona–El Prat Airport to Milan Linate Airport via Rome
- Ave. Duration
- 4h 20m
- When
- Monday to Friday
- Estimated price
- €75–180
- Website
- twinjet.fr
Flights from Marseille Provence Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Monday to Friday
- Estimated price
- €330–800
- Website
- flyulendo.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Monday, Tuesday, Friday, Saturday, and Sunday
- Estimated price
- €19–85
- Website
- singaporeair.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 35m
- When
- Wednesday, Thursday, and Sunday
- Estimated price
- €45–120
- Website
- swiss.com
Flights from Marseille Provence Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 20m
- When
- Monday, Wednesday, and Saturday
- Estimated price
- €65–270
Rome2Rio's guide to Société Nationale des Chemins de fer Français (SNCF)
Contact Details
- Phone
- +33 1 84 94 36 35
- Website
- track.effiliation.com
Train from Cerbere to Perpignan
- Ave. Duration
- 37 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 Valence Tgv Rhone-Alpes Sud to Lyon Part Dieu
- Ave. Duration
- 36 min
- Frequency
- Once daily
- Estimated price
- €25
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
Train from Port-Bou to Avignon Centre
- Ave. Duration
- 4h 19m
- Frequency
- Twice daily
- Estimated price
- €50–110
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- 2nd Class
- €50–75
- Rail 1st Class
- €75–110
Train from Avignon Centre to Chambery Challes Les Eaux
- Ave. Duration
- 3h 23m
- Frequency
- Once a week
- Estimated price
- €50–85
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
Train from Cerbere to Narbonne
- Ave. Duration
- 1h 26m
- Frequency
- Every 4 hours
- Estimated price
- €17–40
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- 2nd Class
- €17–26
- Rail 1st Class
- €27–40
- Phone
- +33 1 84 94 36 35
- Website
- sncf-connect.com
Train from Perpignan to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 2h 48m
- Frequency
- Every 4 hours
- Estimated price
- €35–80
- Website
- https://www.sncf-connect.com/en-en
Train from Valence Tgv Rhone-Alpes Sud to Lyon Part Dieu
- Ave. Duration
- 37 min
- Frequency
- Hourly
- Estimated price
- €19–35
- Website
- https://www.sncf-connect.com/en-en
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Perpignan to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 2h 51m
- Frequency
- Twice daily
- Estimated price
- €30–45
- Website
- https://www.renfe.com/es/en
Train from Valence Tgv Rhone-Alpes Sud to Lyon Part Dieu
- Ave. Duration
- 35 min
- Frequency
- Twice daily
- Estimated price
- €9–13
- Website
- https://www.renfe.com/es/en
Train from Port-Bou to Barcelona-Paseo De Gracia
- Ave. Duration
- 2h 29m
- Frequency
- Every 2 hours
- Estimated price
- €14–20
- Website
- https://www.renfe.com/es/en
Train from Perpignan to Aix En Provence Tgv
- Ave. Duration
- 3h 9m
- Frequency
- Twice daily
- Estimated price
- €27–40
- Website
- https://www.renfe.com/es/en
- Phone
- +33 2 22 55 00 10
- nomad-car@laregionnormandie.fr
- Website
- nomad.normandie.fr
Train from Valence Tgv Rhone-Alpes Sud to Lyon Part Dieu
- Ave. Duration
- 41 min
- Frequency
- 5 times a week
- Schedules at
- nomad.normandie.fr
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Lyon Part Dieu to Milano Centrale
- Ave. Duration
- 4h 44m
- Frequency
- Twice daily
- Estimated price
- €55–140
- Website
- https://www.trenitalia.com/en.html
Train from Chambery Challes Les Eaux to Milano Centrale
- Ave. Duration
- 3h 21m
- Frequency
- Twice daily
- Estimated price
- €55–140
- Website
- https://www.trenitalia.com/en.html
- Phone
- +34 900 41 00 41
- Website
- rodalies.gencat.cat
Train from Port-Bou to Barcelona-Paseo De Gracia
- Ave. Duration
- 2h 29m
- Frequency
- Every 2 hours
- Estimated price
- €10–15
- Website
- https://rodalies.gencat.cat/en/inici/index.html
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +33 805 60 81 00
- Website
- lio.laregion.fr
Bus from CERBÈRE - Centre-Ville to PERPIGNAN - Gare Routière Bd St Assiscle
- Ave. Duration
- 1h 45m
- Frequency
- 3 times a day
- Schedules at
- lio-occitanie.fr
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Perpignan - Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 12h 35m
- Frequency
- Twice daily
- Estimated price
- €35–70
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Perpignan - Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 10h 55m
- Frequency
- 5 times a week
- Estimated price
- €20–60
- Website
- https://www.itabus.it/en/home
- Phone
- 07001 8282
- booking@union-ivkoni.com
- Website
- union-ivkoni.com
Bus from Narbonne Bus Station Av. Maréchal Foch to Milano, Autostazione Lampugnano
- Ave. Duration
- 13h 30m
- Frequency
- 4 times a week
- Estimated price
- €30–50
- Website
- https://union-ivkoni.com/en
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Narbonne Bus Station Av. Maréchal Foch to Milano, Autostazione Lampugnano
- Ave. Duration
- 14h 55m
- Frequency
- 3 times a week
- Estimated price
- €45–80
- Website
- https://www.flixbus.co.uk
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
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
Train travel in France: A guide to SNCF
Read the travel guide
More Questions & Answers
Portbou to Milan bus services, operated by liO Occitanie - Pyrénées-Orientales, arrive at PERPIGNAN - Gare Routière Bd St Assiscle station.
Portbou to Milan train services, operated by Société Nationale des Chemins de fer Français (SNCF), arrive at Perpignan station.
Yes, the driving distance between Portbou to Milan is 783 km. It takes approximately 9h 23m to drive from Portbou to Milan.
Book your Portbou to Milan train tickets online with Omio.
There are 14311+ hotels available in Milan.







































