There are 12 ways to get from Otranto to Milan by bus, plane, train, 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.
Bus to Brindisi Airport, fly to Milan Linate Airport
best- Take the bus from Otranto - Stazione FSE to Lecce - Camera di Commercio/Stazionebus
- Fly from Brindisi Airport (BDS) to Milan Linate Airport (LIN)plane BDS - LIN
5h 2m€63–196Bus to Brindisi Airport, fly to Milano Malpensa Airport, train
cheapest- Take the bus from Otranto - Stazione FSE to Lecce - Camera di Commercio/Stazionebus
- Fly from Brindisi Airport (BDS) to Milano Malpensa Airport (MXP)plane BDS - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
5h 57m€41–230Bus, train
- Take the bus from Otranto - Stazione FSE to Lecce - Camera di Commercio/Stazionebus 106 / ...
- Take the train from Lecce to Milano P.Garibalditrain Fr
10h 38m€112–244Bus via Lecce
- Take the bus from Otranto - Stazione FSE to Lecce - City Terminalbus 106 / ...
- Take the bus from Lecce to Milano, San Donato M3bus 420
16h 35m€93–144Drive 1,067.5 km
- Drive from Otranto to Milancar 1,067.5 km
10h 8m€173–250Bus to Brindisi Airport, fly to Il Caravaggio International Airport, bus
- Take the bus from Otranto - Stazione FSE to Lecce - Camera di Commercio/Stazionebus
- Fly from Brindisi Airport (BDS) to Il Caravaggio International Airport (BGY)plane BDS - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
5h 46m€57–306Bus, train to Bari Karol Wojtyła Airport, fly to Milan Linate Airport
- Take the bus from Otranto - Stazione FSE to Lecce - Camera di Commercio/Stazionebus
- Take the train from Lecce to Bari Centraletrain
- Fly from Bari Karol Wojtyła Airport (BRI) to Milan Linate Airport (LIN)plane BRI - LIN
6h 6m€80–228Bus, train to Bari Karol Wojtyła Airport, fly to Il Caravaggio International Airport
- Take the bus from Otranto - Stazione FSE to Lecce - Camera di Commercio/Stazionebus
- Take the train from Lecce to Bari Centraletrain
- Fly from Bari Karol Wojtyła Airport (BRI) to Il Caravaggio International Airport (BGY)plane BRI - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
6h 50m€59–258Bus, train to Bari Karol Wojtyła Airport, fly to Milano Malpensa Airport, train
- Take the bus from Otranto - Stazione FSE to Lecce - Camera di Commercio/Stazionebus
- Take the train from Lecce to Bari Centraletrain
- Fly from Bari Karol Wojtyła Airport (BRI) to Milano Malpensa Airport (MXP)plane BRI - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
6h 56m€52–220Bus to Brindisi Airport, fly to Bologna Guglielmo Marconi Airport, train
- Take the bus from Otranto - Stazione FSE to Lecce - Camera di Commercio/Stazionebus
- Fly from Brindisi Airport (BDS) to Bologna Guglielmo Marconi Airport (BLQ)plane BDS - BLQ
- Take the train from Bologna centrale to Milano Centraletrain
6h 7m€77–238Bus, train via Milan Centrale
- Take the bus from Otranto - Stazione FSE to Lecce - Viale Gallipolibus 106 / ...
- Take the train from Lecce to Milano Centraletrain Fr
11h 8m€112–244Bus
- Take the bus from Maglie Piazzale Megapark to Milanbus Itabus
16h 42m€57–105
Otranto to Milan by bus, foot, and train
Comparing Your Travel Options
The cheapest way to get from Otranto to Milan is to bus which costs €55 - €110 and takes 16h 42m.
The fastest way to get from Otranto to Milan is to bus and fly which takes 5h 2m and costs €60 - €200.
No, there is no direct bus from Otranto to Milan. However, there are services departing from Otranto - Stazione FSE and arriving at Milano, San Donato M3 via Lecce. The journey, including transfers, takes approximately 16h 35m.
The distance between Otranto and Milan is 978 km. The road distance is 1067.5 km.
The best way to get from Otranto to Milan without a car is to bus and train which takes 10h 38m and costs €110 - €250.
It takes approximately 5h 2m to get from Otranto to Milan, including transfers.
Otranto to Milan bus services, operated by Salento in bus, depart from Otranto - Stazione FSE station.
Otranto to Milan bus services, operated by Salento in bus, arrive at Lecce - City Terminal station.
Yes, the driving distance between Otranto to Milan is 1067 km. It takes approximately 10h 8m to drive from Otranto to Milan.
Book your Otranto to Milan bus tickets online with Omio.
What companies run services between Otranto, Apulia, Italy and Milan, Italy?
You can take a bus from Otranto - Stazione FSE to Milano, San Donato M3 via Lecce in around 16h 35m.
- Website
- ryanair.com
Flights from Brindisi Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €40–270
Flights from Brindisi Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Monday, Friday, Saturday, Sunday, Wednesday, and Tuesday
- Estimated price
- €45–190
Flights from Bari Karol Wojtyła Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €27–190
Flights from Bari Karol Wojtyła Airport to Il Caravaggio International Airport via Tirana
- Ave. Duration
- 3h 35m
- When
- Monday and Tuesday
- Estimated price
- €27–190
Flights from Bari Karol Wojtyła Airport to Il Caravaggio International Airport via Palermo
- Ave. Duration
- 3h 40m
- When
- Sunday
- Estimated price
- €27–190
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €23–160
Flights from Brindisi Airport to Bologna Guglielmo Marconi Airport
- Ave. Duration
- 1h 25m
- When
- Every day
- Estimated price
- €40–170
- Website
- ita-airways.com
Flights from Brindisi Airport to Milan Linate Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €55–180
Flights from Brindisi Airport to Milan Linate Airport via Rome
- Ave. Duration
- 3h 37m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €55–180
Flights from Bari Karol Wojtyła Airport to Milan Linate Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €55–170
Flights from Bari Karol Wojtyła Airport to Milan Linate Airport via Rome
- Ave. Duration
- 3h 40m
- When
- Every day
- Estimated price
- €55–170
- Website
- easyjet.com
Flights from Brindisi Airport to Milan Linate Airport
- Ave. Duration
- 1h 45m
- When
- Monday and Thursday
- Estimated price
- €35–110
Flights from Brindisi Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Thursday, Friday, Monday, Tuesday, Saturday, and Sunday
- Estimated price
- €30–160
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €24–150
- Website
- neosair.it
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 30m
- When
- Thursday
- Estimated price
- €140–360
- Phone
- +39 06 5210550
- Website
- Trenitalia Frecce
Train from Lecce to Milano P.Garibaldi
- Ave. Duration
- 8h 38m
- Frequency
- Twice daily
- Estimated price
- €140–240
- Website
- Trenitalia Frecce
Train from Lecce to Bari Centrale
- Ave. Duration
- 1h 24m
- Frequency
- Every 3 hours
- Estimated price
- €20–35
- Website
- Trenitalia Frecce
Train from Lecce to Bari Centrale
- Ave. Duration
- 1h 24m
- Frequency
- Every 3 hours
- Estimated price
- €20–35
- Website
- Trenitalia Frecce
Train from Lecce to Bari Centrale
- Ave. Duration
- 1h 24m
- Frequency
- Every 3 hours
- Estimated price
- €20–35
- Website
- Trenitalia Frecce
Train from Lecce to Milano Centrale
- Ave. Duration
- 9h 4m
- Frequency
- 3 times a day
- Estimated price
- €140–240
- Website
- Trenitalia Frecce
- Phone
- +39 06 68475475
- Website
- Trenitalia Intercity
Train from Lecce to Milano P.Garibaldi
- Ave. Duration
- 12h 5m
- Frequency
- Once a week
- Estimated price
- €110–200
- Website
- Trenitalia Intercity
Train from Lecce to Bari Centrale
- Ave. Duration
- 3h 1m
- Frequency
- 4 times a day
- Estimated price
- €16–29
- Website
- Trenitalia Intercity
Train from Lecce to Bari Centrale
- Ave. Duration
- 3h 1m
- Frequency
- 4 times a day
- Estimated price
- €16–29
- Website
- Trenitalia Intercity
Train from Lecce to Bari Centrale
- Ave. Duration
- 3h 1m
- Frequency
- 4 times a day
- Estimated price
- €16–29
- Website
- Trenitalia Intercity
Train from Lecce to Milano Centrale
- Ave. Duration
- 11h 22m
- Frequency
- 3 times a day
- Estimated price
- €110–200
- Website
- Trenitalia Intercity
- 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
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.5210550
- Website
- Trenitalia
Train from Lecce to Bari Centrale
- Ave. Duration
- 1h 54m
- Frequency
- Hourly
- Estimated price
- €17–25
- Website
- Trenitalia
Train from Lecce to Bari Centrale
- Ave. Duration
- 1h 54m
- Frequency
- Hourly
- Estimated price
- €17–25
- Website
- Trenitalia
Train from Lecce to Bari Centrale
- Ave. Duration
- 1h 54m
- Frequency
- Hourly
- Estimated price
- €17–25
- Website
- Trenitalia
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Bologna centrale to Milano Centrale
- Ave. Duration
- 1h 4m
- Frequency
- Every 30 minutes
- Estimated price
- €25–45
- Website
- Italo Treno
- Phone
- +39 800 242 815, 344/2274620
- [email protected]
- Website
- provincia.le.it
Bus from Otranto - Stazione FSE to Lecce - Camera di Commercio/Stazione
- Ave. Duration
- 55 min
- Frequency
- Hourly
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Bus from Otranto - Stazione FSE to Lecce - Camera di Commercio/Stazione
- Ave. Duration
- 55 min
- Frequency
- Hourly
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Bus from Otranto - Stazione FSE to Lecce - City Terminal
- Ave. Duration
- 1h 5m
- Frequency
- Hourly
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Bus from Otranto - Stazione FSE to Lecce - Camera di Commercio/Stazione
- Ave. Duration
- 55 min
- Frequency
- Hourly
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Bus from Otranto - Stazione FSE to Lecce - Camera di Commercio/Stazione
- Ave. Duration
- 55 min
- Frequency
- Hourly
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Bus from Otranto - Stazione FSE to Lecce - Camera di Commercio/Stazione
- Ave. Duration
- 55 min
- Frequency
- Hourly
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Bus from Otranto - Stazione FSE to Lecce - Camera di Commercio/Stazione
- Ave. Duration
- 55 min
- Frequency
- Hourly
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Bus from Otranto - Stazione FSE to Lecce - Camera di Commercio/Stazione
- Ave. Duration
- 55 min
- Frequency
- Hourly
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Bus from Otranto - Stazione FSE to Lecce - Camera di Commercio/Stazione
- Ave. Duration
- 55 min
- Frequency
- Hourly
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Bus from Otranto - Stazione FSE to Lecce - Viale Gallipoli
- Ave. Duration
- 59 min
- Frequency
- Hourly
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Lecce to Milano, San Donato M3
- Ave. Duration
- 14h 30m
- Frequency
- Once daily
- Estimated price
- €90–140
- 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
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
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
- +39 06 88 93 82 32
- Website
- Itabus S.p.A.
Bus from Maglie Piazzale Megapark to Milan
- Ave. Duration
- 14h 55m
- Frequency
- Twice daily
- Estimated price
- €55–100
- 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
Want to know more about Flixbus?
Read the travel guide
Booking & Getting There
There are 13809+ hotels available in Milan.







































