There are 11 ways to get from Milan to Otranto by train, bus, car, or plane
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train, bus
best- Take the train from Milano Centrale to Leccetrain Fr
- Take the bus from Lecce - Viale Gallipoli to Otranto - Stazione FSEbus 101 / ...
11h 1m€110–295Bus to Il Caravaggio International Airport, fly to Brindisi Airport, bus
cheapest- Take the bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airportbus
- Fly from Il Caravaggio International Airport (BGY) to Brindisi Airport (BDS)plane BGY - BDS
- Take the bus from Lecce - Camera di Commercio/Stazione to Otranto - Stazione FSEbus
8h 17m€52–262Bus via Lecce
- Take the bus from Milano, San Donato M3 to Leccebus N435 / ...
- Take the bus from Lecce - City Terminal to Otranto - Stazione FSEbus 101 / ...
15h 57m€88–145Drive 1,067.7 km
- Drive from Milan to Otrantocar 1,067.7 km
10h 6m€168–242Fly Milan Linate Airport to Brindisi Airport, bus
- Fly from Milan Linate Airport (LIN) to Brindisi Airport (BDS)plane LIN - BDS
- Take the bus from Lecce - Camera di Commercio/Stazione to Otranto - Stazione FSEbus
7h 34m€74–239Train, bus via Reggio Emilia
- Take the train from Milano Centrale to Reggio Emilia Avtrain Fr
- Take the train from Reggio Emilia Av to Leccetrain Fr
- Take the bus from Lecce - Camera di Commercio/Stazione to Otranto - Stazione FSEbus 101 / ...
11h 53m€141–297Bus
- Take the bus from Milan to Maglie Piazzale Megaparkbus Itabus
17h 54m€68–136Train to Milano Malpensa Airport, fly to Brindisi Airport, bus
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Brindisi Airport (BDS)plane MXP - BDS
- Take the bus from Lecce - Camera di Commercio/Stazione to Otranto - Stazione FSEbus
8h 15m€56–232Fly Milan Linate Airport to Lamezia Terme International Airport, drive
- Fly from Milan Linate Airport (LIN) to Lamezia Terme International Airport (SUF)plane LIN - SUF
- Drive from Lamezia-Terme-Airport-SUF to Otrantocar
8h 7m€132–322Train to Turin Caselle Airport, fly to Brindisi Airport, bus
- Take the train from Milano Centrale to Torino Porta di Susatrain
- Fly from Turin Caselle Airport (TRN) to Brindisi Airport (BDS)plane TRN - BDS
- Take the bus from Lecce - Camera di Commercio/Stazione to Otranto - Stazione FSEbus
8h 58m€87–286Train to Verona Villafranca Airport, fly to Brindisi Airport, bus
- Take the train from Milano Centrale to Verona Porta Nuovatrain
- Fly from Verona Villafranca Airport (VRN) to Brindisi Airport (BDS)plane VRN - BDS
- Take the bus from Lecce - Camera di Commercio/Stazione to Otranto - Stazione FSEbus
8h 59m€85–345
Milan to Otranto by train, foot, and bus
Questions & Answers
The cheapest way to get from Milan to Otranto is to bus which costs €65 - €140 and takes 17h 54m.
The fastest way to get from Milan to Otranto is to fly and bus which takes 7h 34m and costs €70 - €240.
No, there is no direct bus from Milan to Otranto. However, there are services departing from Milano, San Donato M3 and arriving at Otranto - Stazione FSE via Lecce - City Terminal. The journey, including transfers, takes approximately 15h 57m.
The distance between Milan and Otranto is 1058 km. The road distance is 1067.7 km.
The best way to get from Milan to Otranto without a car is to train and bus which takes 11h 1m and costs €110 - €300.
It takes approximately 11h 1m to get from Milan to Otranto, including transfers.
Milan to Otranto bus services, operated by FlixBus, depart from Milano, San Donato M3 station.
Milan to Otranto bus services, operated by FlixBus, arrive at Lecce station.
Yes, the driving distance between Milan to Otranto is 1068 km. It takes approximately 10h 6m to drive from Milan to Otranto.
Book your Milan to Otranto bus tickets online with Omio.
What companies run services between Milan, Italy and Otranto, Apulia, Italy?
You can take a bus from Milano, San Donato M3 to Otranto - Stazione FSE via Lecce - City Terminal in around 15h 57m.
- Website
- ryanair.com
Flights from Milano Malpensa Airport to Brindisi Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €45–180
Flights from Il Caravaggio International Airport to Brindisi Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €40–220
Flights from Turin Caselle Airport to Brindisi Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €50–210
Flights from Verona Villafranca Airport to Brindisi Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €45–210
- Website
- ita-airways.com
Flights from Milan Linate Airport to Brindisi Airport
- Ave. Duration
- 1h 37m
- When
- Every day
- Estimated price
- €65–170
Flights from Milan Linate Airport to Brindisi Airport via Rome
- Ave. Duration
- 3h 31m
- When
- Every day
- Estimated price
- €65–170
Flights from Milan Linate Airport to Lamezia Terme International Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €55–170
Flights from Milan Linate Airport to Lamezia Terme International Airport via Rome
- Ave. Duration
- 3h 38m
- When
- Every day
- Estimated price
- €55–170
Flights from Turin Caselle Airport to Brindisi Airport via Rome
- Ave. Duration
- 3h 31m
- When
- Every day
- Estimated price
- €75–230
- Website
- easyjet.com
Flights from Milan Linate Airport to Brindisi Airport
- Ave. Duration
- 1h 37m
- When
- Monday, Tuesday, Thursday, and Saturday
- Estimated price
- €40–290
Flights from Milano Malpensa Airport to Brindisi Airport
- Ave. Duration
- 1h 49m
- When
- Every day
- Estimated price
- €40–230
- Website
- lufthansa.com
Flights from Milan Linate Airport to Brindisi Airport via Rome
- Ave. Duration
- 3h 20m
- When
- Every day
- Estimated price
- €65–170
Flights from Milan Linate Airport to Lamezia Terme International Airport via Rome
- Ave. Duration
- 3h 35m
- When
- Sunday
- Estimated price
- €55–170
Flights from Turin Caselle Airport to Brindisi Airport via Rome
- Ave. Duration
- 3h 15m
- When
- Every day
- Estimated price
- €75–230
Flights from Turin Caselle Airport to Brindisi Airport via Munich
- Ave. Duration
- 4h
- When
- Saturday and Sunday
- Estimated price
- €120–410
Flights from Verona Villafranca Airport to Brindisi Airport via Munich
- Ave. Duration
- 3h 45m
- When
- Saturday and Sunday
- Estimated price
- €120–420
- Website
- aeroitalia.com
Flights from Milan Linate Airport to Lamezia Terme International Airport via Cagliari
- Ave. Duration
- 3h 25m
- When
- Tuesday and Saturday
- Estimated price
- €80–750
- Website
- flexflight.dk
Flights from Milan Linate Airport to Lamezia Terme International Airport via Cagliari
- Ave. Duration
- 3h 25m
- When
- Tuesday and Saturday
- Estimated price
- €80–750
- Website
- neosair.it
Flights from Milano Malpensa Airport to Brindisi Airport
- Ave. Duration
- 1h 55m
- When
- Sunday
- Estimated price
- €150–430
- Website
- swiss.com
Flights from Milano Malpensa Airport to Brindisi Airport via Zurich
- Ave. Duration
- 4h 15m
- When
- Monday, Wednesday, Friday, Saturday, and Sunday
- Estimated price
- €90–310
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Centrale to Lecce
- Ave. Duration
- 8h 19m
- Frequency
- Every 4 hours
- Estimated price
- €150–300
- Schedules at
- trenitalia.com
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €22–45
- Schedules at
- trenitalia.com
Train from Reggio Emilia Av to Lecce
- Ave. Duration
- 7h 32m
- Frequency
- Every 2 hours
- Estimated price
- €120–250
- Schedules at
- trenitalia.com
Train from Milano Centrale to Verona Porta Nuova
- Ave. Duration
- 1h 13m
- Frequency
- Every 30 minutes
- Estimated price
- €22–45
- Schedules at
- trenitalia.com
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Centrale to Lecce
- Ave. Duration
- 11h 34m
- Frequency
- Every 4 hours
- Estimated price
- €100–220
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 1h 5m
- Frequency
- Once daily
- Estimated price
- €18–40
- Website
- https://www.italotreno.it/en
Train from Milano Centrale to Torino Porta di Susa
- Ave. Duration
- 48 min
- Frequency
- Hourly
- Estimated price
- €17–35
- Website
- https://www.italotreno.it/en
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- trenord.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +39 06 68475475
- [email protected]
- Website
- trenitalia.com
Train from Milano Centrale to Verona Porta Nuova
- Ave. Duration
- 1h 23m
- Frequency
- Once daily
- Estimated price
- €35–85
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €55–85
- 2nd Class
- €35–50
- Phone
- +39 800 242 815, 344/2274620
- [email protected]
- Website
- provincia.le.it
Bus from Lecce - Viale Gallipoli to Otranto - Stazione FSE
- Ave. Duration
- 1h 37m
- Frequency
- Every 2 hours
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Bus from Lecce - City Terminal to Otranto - Stazione FSE
- Ave. Duration
- 1h 42m
- Frequency
- Every 2 hours
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Bus from Lecce - Camera di Commercio/Stazione to Otranto - Stazione FSE
- Ave. Duration
- 1h 32m
- Frequency
- Every 2 hours
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Bus from Lecce - Camera di Commercio/Stazione to Otranto - Stazione FSE
- Ave. Duration
- 1h 32m
- Frequency
- Every 2 hours
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Bus from Lecce - Camera di Commercio/Stazione to Otranto - Stazione FSE
- Ave. Duration
- 1h 32m
- Frequency
- Every 2 hours
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Bus from Lecce - Camera di Commercio/Stazione to Otranto - Stazione FSE
- Ave. Duration
- 1h 32m
- Frequency
- Every 2 hours
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Bus from Lecce - Camera di Commercio/Stazione to Otranto - Stazione FSE
- Ave. Duration
- 1h 32m
- Frequency
- Every 2 hours
- Estimated price
- €2–4
- Schedules at
- provincia.le.it
Bus from Lecce - Camera di Commercio/Stazione to Otranto - Stazione FSE
- Ave. Duration
- 1h 32m
- Frequency
- Every 2 hours
- 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
- https://www.flixbus.fr
Bus from Milano, San Donato M3 to Lecce
- Ave. Duration
- 13h 15m
- Frequency
- Once daily
- Estimated price
- €85–150
- Website
- https://www.flixbus.co.uk
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Milan to Maglie Piazzale Megapark
- Ave. Duration
- 15h
- Frequency
- Twice daily
- Estimated price
- €65–130
- Website
- https://www.itabus.it/en/home
- [email protected]
- Website
- terravision.eu
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
- https://www.terravision.eu/
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
Want to know more about Flixbus?
Read the travel guide
Getting to Milan from the airport
Read the travel guide
More Questions & Answers
There are 3000+ hotels available in Otranto.






































