There are 9 ways to get from Girona to Milan by train, plane, train (Renfe, Trenitalia), bus, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train, fly to Milan Linate Airport
best- Take the train from Girona to Barcelona-Santstrain
- Fly from Barcelona–El Prat Airport (BCN) to Milan Linate Airport (LIN)plane BCN - LIN
5h 11m€44–215Train, fly to Milano Malpensa Airport
cheapest- Take the train from Girona 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
5h 55m€34–138Train via Lyon
- Take the train from Girona to Lyon Part Dieutrain 9737
- Take the train from Lyon Part Dieu to Milano Centraletrain Fr
10h 6m€121–176Bus
- Take the bus from Girona - Bus Station to Milano, Autostazione Lampugnanobus BlaBlaCar Bus
13h 5m€65–120Drive 821.1 km
- Drive from Girona to Milancar 821.1 km
9h 30m€135–194Train, fly to Il Caravaggio International Airport, bus
- Take the train from Girona 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€48–245Train, fly to Turin Caselle Airport
- Take the train from Girona to Barcelona-Santstrain
- Fly from Barcelona–El Prat Airport (BCN) to Turin Caselle Airport (TRN)plane BCN - TRN
- Take the train from Torino Porta di Susa to Milano Centraletrain
7h 4m€45–202Train
- Take the train from Girona to Marseille St Charlestrain
- Take the train from Marseille-Saint-Charles to Nice-Villetrain
- Take the train from Ventimiglia to Milano Centraletrain Ic
13h 34m€148–225Bus via Vic
- Take the bus from Girona, Estació d'Autobusos to Vic, Estació d'Autobusosbus L-28
- Take the bus from Barcelona - Carrer de Ribes to Milano, Autostazione Lampugnanobus Barcelona to Milan
16h 17m€58–117
Girona to Milan by train
Comparing Your Travel Options
The cheapest way to get from Girona to Milan is to train and fly which costs €30 - €140 and takes 5h 55m.
The fastest way to get from Girona to Milan is to train and fly which takes 5h 11m and costs €40 - €220.
Yes, there is a direct bus departing from Girona - Bus Station station and arriving at Milano, Autostazione Lampugnano. Services depart once daily, and operate every day. The journey takes approximately 13h 5m.
No, there is no direct train from Girona to Milan. However, there are services departing from Girona and arriving at Milano Centrale via Lyon Part Dieu. The journey, including transfers, takes approximately 10h 6m.
The distance between Girona and Milan is 858 km. The road distance is 821.1 km.
The best way to get from Girona to Milan without a car is to train via Lyon which takes 10h 6m and costs €120 - €180.
It takes approximately 5h 11m to get from Girona to Milan, including transfers.
Girona to Milan bus services, operated by BlaBlaCar Bus, depart from Girona - Bus Station.
Girona to Milan train services, operated by Renfe Viajeros, depart from Girona station.
The best way to get from Girona to Milan is to train via Lyon which takes 10h 6m and costs €120 - €180. Alternatively, you can bus, which costs €65 - €120 and takes 13h 5m.
What companies run services between Girona, Spain and Milan, Italy?
You can take a train from Girona to Milano Centrale via Lyon Part Dieu in around 10h 6m. Alternatively, BlaBlaCar Bus operates a bus from Girona - Bus Station to Milano, Autostazione Lampugnano 3 times a day. Tickets cost €65–120 and the journey takes 13h 5m. FlixBus also services this route twice a week.
- Website
- ryanair.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Thursday, Sunday, Monday, Friday, and Saturday
- Estimated price
- €21–55
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport via Palma Mallorca
- Ave. Duration
- 4h 5m
- When
- Saturday
- Estimated price
- €21–55
Flights from Barcelona–El Prat Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €29–180
Flights from Barcelona–El Prat Airport to Turin Caselle Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €30–210
- Website
- easyjet.com
Flights from Barcelona–El Prat Airport to Milan Linate Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €26–130
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 42m
- When
- Every day
- Estimated price
- €15–95
- Website
- vueling.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 38m
- When
- Every day
- Estimated price
- €18–100
Flights from Barcelona–El Prat Airport to Turin Caselle Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €17–110
- Website
- ita-airways.com
Flights from Barcelona–El Prat Airport to Milan Linate Airport via Rome
- Ave. Duration
- 4h 10m
- When
- Every day
- Estimated price
- €95–210
- Website
- flyulendo.com
Flights from Barcelona–El Prat Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €15–110
Flights from Barcelona–El Prat Airport to Turin Caselle Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €11–80
Rome2Rio's guide to Renfe Viajeros
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Girona to Barcelona-Sants
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €11–17
- Website
- Renfe Viajeros
Train from Girona to Lyon Part Dieu
- Ave. Duration
- 4h 22m
- Frequency
- Once daily
- Estimated price
- €70–110
- Website
- Renfe Viajeros
Train from Girona to Barcelona-Sants
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €11–17
- Website
- Renfe Viajeros
Train from Girona to Barcelona-Sants
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €11–17
- Website
- Renfe Viajeros
Train from Girona to Barcelona-Sants
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €11–17
- Website
- Renfe Viajeros
Train from Girona to Marseille St Charles
- Ave. Duration
- 4h 17m
- Frequency
- Once daily
- Estimated price
- €50–80
- Website
- Renfe Viajeros
Rome2Rio's guide to Renfe AVE
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe AVE
Train from Girona to Barcelona-Sants
- Ave. Duration
- 41 min
- Frequency
- 4 times a day
- Estimated price
- €13–23
- Website
- Renfe AVE
Train from Girona to Barcelona-Sants
- Ave. Duration
- 41 min
- Frequency
- 4 times a day
- Estimated price
- €13–23
- Website
- Renfe AVE
Train from Girona to Barcelona-Sants
- Ave. Duration
- 41 min
- Frequency
- 4 times a day
- Estimated price
- €13–23
- Website
- Renfe AVE
Train from Girona to Barcelona-Sants
- Ave. Duration
- 41 min
- Frequency
- 4 times a day
- Estimated price
- €13–23
- Website
- Renfe AVE
- Phone
- +33 1 84 94 36 35
- Website
- TGV inOui
Train from Girona to Barcelona-Sants
- Ave. Duration
- 42 min
- Frequency
- Twice daily
- Estimated price
- €18–28
- Website
- TGV inOui
Train from Girona to Barcelona-Sants
- Ave. Duration
- 42 min
- Frequency
- Twice daily
- Estimated price
- €18–28
- Website
- TGV inOui
Train from Girona to Barcelona-Sants
- Ave. Duration
- 42 min
- Frequency
- Twice daily
- Estimated price
- €18–28
- Website
- TGV inOui
Train from Girona to Barcelona-Sants
- Ave. Duration
- 42 min
- Frequency
- Twice daily
- Estimated price
- €18–28
- 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
- €50–75
- Website
- Trenitalia
Train from Ventimiglia to Milano Centrale
- Ave. Duration
- 4h 30m
- Frequency
- Once daily
- Estimated price
- €30–50
- Website
- Trenitalia
- Phone
- +39 02 7249 4494
- [email protected]
- 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
- +39 06 8937 1892
- Website
- Italo Treno
Train from Torino Porta di Susa to Milano Centrale
- Ave. Duration
- 47 min
- Frequency
- Hourly
- Estimated price
- €16–27
- Website
- Italo Treno
- Phone
- +33 4 13 94 30 50
- Website
- Zou! Lignes Express Régionales
Train from Marseille-Saint-Charles to Nice-Ville
- Ave. Duration
- 2h 41m
- Frequency
- Hourly
- Estimated price
- €55–80
- Website
- Zou! Lignes Express Régionales
- Phone
- +39 06 68475475
- Website
- Trenitalia Intercity
Train from Ventimiglia to Milano Centrale
- Ave. Duration
- 3h 50m
- Frequency
- Every 4 hours
- Estimated price
- €30–55
- Website
- Trenitalia Intercity
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Girona - Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 13h 5m
- Frequency
- 3 times a day
- Estimated price
- €65–120
- Website
- BlaBlaCar Bus
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Girona - Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 14h
- Frequency
- Twice a week
- Estimated price
- €80–120
- Website
- Flixbus
- [email protected]
- 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–23
- Website
- TERRAVISION
- Phone
- 035.319366
- [email protected]
- Website
- orioshuttle.com
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €11–14
- Schedules at
- orioshuttle.com
- Phone
- +34 972 20 48 68
- [email protected]
- Website
- teisa-bus.com
Bus from Girona, Estació d'Autobusos to Vic, Estació d'Autobusos
- Ave. Duration
- 1h
- Frequency
- 5 times a day
- Estimated price
- €10–22
- Schedules at
- teisa-bus.com
- Phone
- +39 06 88 93 82 32
- Website
- Itabus S.p.A.
Bus from Barcelona - Carrer de Ribes to Milano, Autostazione Lampugnano
- Ave. Duration
- 13h 30m
- Frequency
- Once daily
- Estimated price
- €45–90
- Website
- Itabus S.p.A.
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
Getting to Milan from the airport
Read the travel guide
Train travel in Spain: A guide to Renfe
Read the travel guide
Booking & Getting There
Girona to Milan bus services, operated by BlaBlaCar Bus, arrive at Milano, Autostazione Lampugnano station.
Girona to Milan train services, operated by Renfe Viajeros, arrive at Lyon Part Dieu station.
Yes, the driving distance between Girona to Milan is 821 km. It takes approximately 9h 30m to drive from Girona to Milan.
Book your Girona to Milan train tickets online with Omio.
Book your Girona to Milan bus tickets online with Omio and FlixBus.
There are 13809+ hotels available in Milan.

























































