There are 11 ways to get from Perpignan to Milan by train (Renfe, TGV, Trenitalia), bus, car, train, plane, or train (Renfe, 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 via Lyon
best- Take the train from Perpignan to Lyon Part Dieutrain 9737
- Take the train from Lyon Part Dieu to Milano Centraletrain Fr
9h 13m€116–242Train to Barcelona–El Prat Airport, fly to Milano Malpensa Airport, train
cheapest- Take the train from Perpignan to Barcelona-Santstrain
- 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
6h 40m€47–159Bus via Duomo M1
- Take the bus from Perpignan to Milanbus FlixBus N740
11h 35m€64–105Drive 731 km
- Drive from Perpignan to Milancar 731 km
8h 39m€114–165Train to Barcelona–El Prat Airport, fly to Milan Linate Airport
- Take the train from Perpignan to Barcelona-Santstrain
- Fly from Barcelona–El Prat Airport (BCN) to Milan Linate Airport (LIN)plane BCN - LIN
5h 56m€65–256Bus
- Take the bus from Perpignan - Bus Station to Milano, Autostazione Lampugnanobus BlaBlaCar Bus
12h 35m€50–130Train
- Take the train from Perpignan to Marseille St Charlestrain
- Take the train from Marseille-Saint-Charles to Nice-Saint-Augustintrain
- Take the train from Nice Saint-Augustin to Ventimigliatrain C3
- Take the train from Ventimiglia to Milano Centraletrain Ic
12h 47m€138–263Train to Barcelona–El Prat Airport, fly to Il Caravaggio International Airport, bus
- Take the train from Perpignan to Barcelona-Santstrain
- Fly from Barcelona–El Prat Airport (BCN) to Il Caravaggio International Airport (BGY)plane BCN - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
6h 52m€69–278Train to Marseille Provence Airport, fly to Milano Malpensa Airport, train
- 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
7h 59m€99–244Train, train to Toulouse-Blagnac Airport, fly to Il Caravaggio International Airport, bus
- Take the train from Perpignan to Narbonnetrain
- Take the train from Narbonne to Toulouse Matabiautrain
- Fly from Toulouse-Blagnac Airport (TLS) to Il Caravaggio International Airport (BGY)plane TLS - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
7h 57m€90–345Fly Perpignan-Rivesaltes Airport to Milan Linate Airport
- Fly from Perpignan-Rivesaltes Airport (PGF) to Milan Linate Airport (LIN)plane PGF - LIN
7h 14m€182–454
Perpignan to Milan by train
Comparing Your Travel Options
The cheapest way to get from Perpignan to Milan is to bus via Duomo M1 which costs €60 - €110 and takes 11h 35m.
The fastest way to get from Perpignan to Milan is to train and fly which takes 5h 56m and costs €65 - €260.
Yes, there is a direct bus departing from Perpignan - Bus Station station and arriving at Milano, Autostazione Lampugnano. Services depart twice daily, and operate every day. The journey takes approximately 12h 35m.
No, there is no direct train from Perpignan to Milan. However, there are services departing from Perpignan and arriving at Milano Centrale via Lyon Part Dieu. The journey, including transfers, takes approximately 9h 13m.
The distance between Perpignan and Milan is 919 km. The road distance is 731 km.
The best way to get from Perpignan to Milan without a car is to train via Lyon which takes 9h 13m and costs €110 - €250.
It takes approximately 9h 13m to get from Perpignan to Milan, including transfers.
Perpignan to Milan bus services, operated by FlixBus, depart from Perpignan station.
Perpignan to Milan train services, operated by Renfe Viajeros, depart from Perpignan station.
The best way to get from Perpignan to Milan is to train via Lyon which takes 9h 13m and costs €110 - €250. Alternatively, you can bus via Duomo M1, which costs €60 - €110 and takes 11h 35m, you could also fly, which costs €180 - €460 and takes 7h 14m.
What companies run services between Perpignan, France and Milan, Italy?
You can take a train from Perpignan to Milano Centrale via Lyon Part Dieu in around 9h 13m. Alternatively, FlixBus operates a bus from Perpignan to Milan twice daily. Tickets cost €60–110 and the journey takes 11h 15m.
- Website
- ryanair.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Friday to Saturday
- Estimated price
- €26–95
Flights from Barcelona–El Prat Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €40–190
Flights from Barcelona–El Prat Airport to Il Caravaggio International Airport via Menorca
- Ave. Duration
- 3h 50m
- When
- Every day
- Estimated price
- €40–190
Flights from Barcelona–El Prat Airport to Il Caravaggio International Airport via Palma Mallorca
- Ave. Duration
- 4h 15m
- When
- Monday, Wednesday, Thursday, Friday, and Saturday
- Estimated price
- €40–190
Flights from Barcelona–El Prat Airport to Il Caravaggio International Airport via Ibiza
- Ave. Duration
- 4h 25m
- When
- Monday, Tuesday, Wednesday, Saturday, and Sunday
- Estimated price
- €40–190
Flights from Toulouse-Blagnac Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 30m
- When
- Tuesday, Saturday, and Sunday
- Estimated price
- €45–210
Flights from Toulouse-Blagnac Airport to Il Caravaggio International Airport via Menorca
- Ave. Duration
- 3h 50m
- When
- Monday, Thursday, and Saturday
- Estimated price
- €45–210
Flights from Toulouse-Blagnac Airport to Il Caravaggio International Airport via Palma Mallorca
- Ave. Duration
- 4h
- When
- Wednesday to Friday
- Estimated price
- €45–210
- Website
- easyjet.com
Flights from Barcelona–El Prat Airport to Milan Linate Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €24–140
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 42m
- When
- Every day
- Estimated price
- €21–90
Flights from Perpignan-Rivesaltes Airport to Milan Linate Airport via Paris Orly
- Ave. Duration
- 7h 5m
- When
- Every day
- Estimated price
- €110–600
- Website
- vueling.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 41m
- When
- Every day
- Estimated price
- €19–90
- Website
- ita-airways.com
Flights from Barcelona–El Prat Airport to Milan Linate Airport via Palma Mallorca
- Ave. Duration
- 3h 5m
- When
- Sunday
- Estimated price
- €95–190
Flights from Barcelona–El Prat Airport to Milan Linate Airport via Rome
- Ave. Duration
- 4h 20m
- When
- Monday to Friday
- Estimated price
- €95–190
Flights from Perpignan-Rivesaltes Airport to Milan Linate Airport via Paris Orly
- Ave. Duration
- 5h 15m
- When
- Monday, Tuesday, Wednesday, Friday, and Sunday
- Estimated price
- €110–600
- Website
- twinjet.fr
Flights from Marseille Provence Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Monday to Friday
- Estimated price
- €450–700
- Website
- flyulendo.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 50m
- When
- Every day
- Estimated price
- €15–70
- Website
- singaporeair.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 40m
- When
- Wednesday, Thursday, and Sunday
- Estimated price
- €50–110
Rome2Rio's guide to Renfe Viajeros
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Perpignan to Lyon Part Dieu
- Ave. Duration
- 3h 29m
- Frequency
- Twice daily
- Estimated price
- €60–95
- Website
- Renfe Viajeros
Train from Perpignan to Barcelona-Sants
- Ave. Duration
- 1h 24m
- Frequency
- Twice daily
- Estimated price
- €23–40
- Website
- Renfe Viajeros
Train from Perpignan to Marseille St Charles
- Ave. Duration
- 3h 27m
- Frequency
- Twice daily
- Estimated price
- €40–70
- Website
- Renfe Viajeros
Train from Perpignan to Barcelona-Sants
- Ave. Duration
- 1h 24m
- Frequency
- Twice daily
- Estimated price
- €23–40
- Website
- Renfe Viajeros
Train from Perpignan to Barcelona-Sants
- Ave. Duration
- 1h 24m
- Frequency
- Twice daily
- Estimated price
- €23–40
- Website
- Renfe Viajeros
Train from Perpignan to Aix En Provence Tgv
- Ave. Duration
- 3h 9m
- Frequency
- Twice daily
- Estimated price
- €40–65
- Website
- Renfe Viajeros
Train from Perpignan to Narbonne
- Ave. Duration
- 35 min
- Frequency
- 4 times a day
- Estimated price
- €8–13
- Website
- Renfe Viajeros
- Phone
- +33 1 84 94 36 35
- Website
- TGV inOui
Train from Perpignan to Lyon Part Dieu
- Ave. Duration
- 4h 1m
- Frequency
- Twice a week
- Estimated price
- €95–160
- Website
- TGV inOui
Train from Perpignan to Barcelona-Sants
- Ave. Duration
- 1h 26m
- Frequency
- Twice daily
- Estimated price
- €35–60
- Website
- TGV inOui
Train from Perpignan to Barcelona-Sants
- Ave. Duration
- 1h 26m
- Frequency
- Twice daily
- Estimated price
- €35–60
- Website
- TGV inOui
Train from Perpignan to Barcelona-Sants
- Ave. Duration
- 1h 26m
- Frequency
- Twice daily
- Estimated price
- €35–60
- Website
- TGV inOui
Train from Perpignan to Narbonne
- Ave. Duration
- 34 min
- Frequency
- 5 times a day
- Estimated price
- €13–21
- Website
- TGV inOui
Train from Narbonne to Toulouse Matabiau
- Ave. Duration
- 1h 14m
- Frequency
- 3 times a day
- Estimated price
- €30–50
- Website
- TGV inOui
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Lyon Part Dieu to Milano Centrale
- Ave. Duration
- 4h 44m
- Frequency
- Twice daily
- Estimated price
- €55–90
- Website
- Trenitalia
Train from Ventimiglia to Milano Centrale
- Ave. Duration
- 4h 30m
- Frequency
- Once daily
- Estimated price
- €35–60
- Website
- Trenitalia
- Phone
- +33 4 13 94 30 50
- Website
- Zou! Lignes Express Régionales
Train from Marseille-Saint-Charles to Nice-Saint-Augustin
- Ave. Duration
- 2h 33m
- Frequency
- Hourly
- Estimated price
- €55–110
- Website
- Zou! Lignes Express Régionales
Train from Nice Saint-Augustin to Ventimiglia
- Ave. Duration
- 1h 7m
- Frequency
- Hourly
- Estimated price
- €10–21
- Website
- Zou! Lignes Express Régionales
Train from Perpignan to Narbonne
- Ave. Duration
- 44 min
- Frequency
- Every 4 hours
- Estimated price
- €16–35
- Website
- Zou! Lignes Express Régionales
- Phone
- +33 4 13 94 30 50
- Website
- ZOU!
Train from Nice Saint-Augustin to Ventimiglia
- Ave. Duration
- 1h 2m
- Frequency
- Every 30 minutes
- Schedules at
- ZOU!
- Phone
- +39 06 68475475
- Website
- Trenitalia Intercity
Train from Ventimiglia to Milano Centrale
- Ave. Duration
- 3h 50m
- Frequency
- Every 4 hours
- Estimated price
- €29–65
- Website
- Trenitalia Intercity
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- Trenord
- Phone
- +33 1 84 94 36 35
- Website
- Oui.SNCF
Train from Perpignan to Narbonne
- Ave. Duration
- 42 min
- Frequency
- Hourly
- Estimated price
- €10–22
- Website
- Oui.SNCF
Train from Narbonne to Toulouse Matabiau
- Ave. Duration
- 1h 36m
- Frequency
- Hourly
- Estimated price
- €24–50
- Website
- Oui.SNCF
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Perpignan to Milan
- Ave. Duration
- 11h 15m
- Frequency
- Twice daily
- Estimated price
- €60–110
- Website
- Flixbus
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Perpignan - Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 12h 35m
- Frequency
- Twice daily
- Estimated price
- €70–130
- Website
- BlaBlaCar Bus
- Phone
- +39 06 88 93 82 32
- Website
- Itabus S.p.A.
Bus from Perpignan - Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 10h 55m
- Frequency
- Once daily
- Estimated price
- €50–110
- Website
- Itabus S.p.A.
- customerservices@terravision.eu
- Website
- TERRAVISION
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–25
- Website
- TERRAVISION
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–25
- Website
- TERRAVISION
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 Spain: A guide to Renfe
Read the travel guide
Booking & Getting There
Perpignan to Milan bus services, operated by FlixBus, arrive at Milan station.
Perpignan to Milan train services, operated by Renfe Viajeros, arrive at Lyon Part Dieu station.
Yes, the driving distance between Perpignan to Milan is 731 km. It takes approximately 8h 39m to drive from Perpignan to Milan.
Book your Perpignan to Milan train tickets online with Omio.
Book your Perpignan to Milan bus tickets online with Omio.
There are 14172+ hotels available in Milan.












































