There are 12 ways to get from Taranto to Milan by train (Trenitalia), bus, night train, car, train, 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 (Trenitalia)
best- Take the train from Taranto to Milano Centraletrain Fr
8h 45m€110–320Train, bus, bus to Bari Karol Wojtyła Airport, fly to Milano Malpensa Airport
cheapest- Take the train from Taranto to Metapontotrain
- Take the bus from Metaponto to Materabus
- Take the bus from Matera piazza Matteotti to Bari Airportbus
- 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
8h 12m€42–199Bus
- Take the bus from Taranto Porto Mercantile to Bari Viale Unità d'Italiabus 110 inbound
- Take the bus from Bari to Milano, San Donato M3bus N435 / ...
13h 41m€74–123Night train
- Take the nighttrain from Taranto to Milano Centralenighttrain Ini
12h 16m€90–180Drive 963 km
- Drive from Taranto to Milancar 963 km
8h 40m€150–217Bus, train
- Take the bus from Taranto Porto Mercantile to Bari Viale Unità d'Italiabus 110 inbound
- Take the train from Bari Centrale to Milano Centraletrain 9928
11h 17m€139–273Train to Brindisi Airport, fly to Milan Linate Airport
- Take the train from Taranto to Brindisitrain
- Fly from Brindisi Airport (BDS) to Milan Linate Airport (LIN)plane BDS - LIN
5h 37m€59–249Train to Brindisi Airport, fly to Il Caravaggio International Airport, bus
- Take the train from Taranto to Brindisitrain
- 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
6h 28m€58–301Train to Brindisi Airport, fly to Milano Malpensa Airport, train
- Take the train from Taranto to Brindisitrain
- Fly from Brindisi Airport (BDS) to Milano Malpensa Airport (MXP)plane BDS - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
6h 32m€57–252Train, bus, bus to Bari Karol Wojtyła Airport, fly to Milan Linate Airport
- Take the train from Taranto to Metapontotrain
- Take the bus from Metaponto to Materabus
- Take the bus from Matera piazza Matteotti to Bari Airportbus
- Fly from Bari Karol Wojtyła Airport (BRI) to Milan Linate Airport (LIN)plane BRI - LIN
7h 12m€61–196Train, bus, bus to Bari Karol Wojtyła Airport, fly to Il Caravaggio International Airport
- Take the train from Taranto to Metapontotrain
- Take the bus from Metaponto to Materabus
- Take the bus from Matera piazza Matteotti to Bari Airportbus
- 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
8h 8m€50–238Train to Brindisi Airport, fly to Bologna Guglielmo Marconi Airport, train
- Take the train from Taranto to Brindisitrain
- Fly from Brindisi Airport (BDS) to Bologna Guglielmo Marconi Airport (BLQ)plane BDS - BLQ
- Take the train from Bologna centrale to Milano Centraletrain
6h 47m€75–271
Taranto to Milan by train (Trenitalia)
Comparing Your Travel Options
The cheapest way to get from Taranto to Milan is to bus which costs €70 - €130 and takes 13h 41m.
The fastest way to get from Taranto to Milan is to train and fly which takes 5h 37m and costs €55 - €250.
No, there is no direct bus from Taranto to Milan. However, there are services departing from Taranto Porto Mercantile and arriving at Milano, San Donato M3 via Bari. The journey, including transfers, takes approximately 13h 41m.
Yes, there is a direct train departing from Taranto and arriving at Milano Centrale. Services depart three times a day, and operate every day. The journey takes approximately 8h 45m.
The distance between Taranto and Milan is 1086 km. The road distance is 963 km.
The best way to get from Taranto to Milan without a car is to train which takes 8h 45m and costs €110 - €320.
The train from Taranto to Milan Centrale takes 8h 45m including transfers and departs three times a day.
Taranto to Milan bus services, operated by Ferrovie del Sud Est e Servizi Automobilistici S.r.l., depart from Taranto Porto Mercantile station.
Taranto to Milan train services, operated by Trenitalia Frecce, depart from Taranto station.
The best way to get from Taranto to Milan is to train which takes 8h 45m and costs €110 - €320. Alternatively, you can bus, which costs €70 - €130 and takes 13h 41m.
What companies run services between Taranto, Italy and Milan, Italy?
Trenitalia Frecce operates a train from Taranto to Milano Centrale twice daily. Tickets cost €160–320 and the journey takes 8h 45m. Trenitalia Intercity also services this route twice daily. Alternatively, you can take a bus from Taranto Porto Mercantile to Milano, San Donato M3 via Bari Viale Unità d'Italia and Bari in around 13h 41m.
- Website
- ryanair.com
Flights from Brindisi Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 39m
- When
- Every day
- Estimated price
- €45–260
Flights from Brindisi Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €45–230
Flights from Bari Karol Wojtyła Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €35–190
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €30–150
Flights from Brindisi Airport to Bologna Guglielmo Marconi Airport
- Ave. Duration
- 1h 25m
- When
- Every day
- Estimated price
- €35–170
- Website
- ita-airways.com
Flights from Brindisi Airport to Milan Linate Airport
- Ave. Duration
- 1h 37m
- When
- Every day
- Estimated price
- €50–190
Flights from Brindisi Airport to Milan Linate Airport via Rome
- Ave. Duration
- 3h 41m
- When
- Every day
- Estimated price
- €50–190
Flights from Bari Karol Wojtyła Airport to Milan Linate Airport
- Ave. Duration
- 1h 26m
- When
- Every day
- Estimated price
- €50–170
Flights from Bari Karol Wojtyła Airport to Milan Linate Airport via Rome
- Ave. Duration
- 3h 30m
- When
- Every day
- Estimated price
- €50–170
Flights from Brindisi Airport to Bologna Guglielmo Marconi Airport via Rome
- Ave. Duration
- 3h 25m
- When
- Every day
- Estimated price
- €65–200
- Website
- easyjet.com
Flights from Brindisi Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €40–240
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 36m
- When
- Every day
- Estimated price
- €23–170
- Website
- swiss.com
Flights from Brindisi Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 4h 2m
- When
- Every day
- Estimated price
- €80–280
- Website
- neosair.it
Flights from Brindisi Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 40m
- When
- Sunday
- Estimated price
- €110–350
- Website
- skyalps.com
Flights from Bari Karol Wojtyła Airport to Il Caravaggio International Airport via Mostar
- Ave. Duration
- 3h 30m
- When
- Monday and Friday
- Estimated price
- €170–340
- Phone
- +39 06 68475475
- Website
- Trenitalia Frecce
Train from Taranto to Milano Centrale
- Ave. Duration
- 8h 45m
- Frequency
- Twice daily
- Estimated price
- €160–320
- Schedules at
- Trenitalia Frecce
Train from Taranto to Metaponto
- Ave. Duration
- 26 min
- Frequency
- Once daily
- Estimated price
- €6–13
- Schedules at
- Trenitalia Frecce
Train from Taranto to Metaponto
- Ave. Duration
- 26 min
- Frequency
- Once daily
- Estimated price
- €6–13
- Schedules at
- Trenitalia Frecce
Train from Taranto to Metaponto
- Ave. Duration
- 26 min
- Frequency
- Once daily
- Estimated price
- €6–13
- Schedules at
- Trenitalia Frecce
- Phone
- +39 06 68475475
- Website
- Trenitalia Intercity
Train from Taranto to Milano Centrale
- Ave. Duration
- 11h 12m
- Frequency
- Twice daily
- Estimated price
- €110–240
- Website
- Trenitalia Intercity
Train from Taranto to Brindisi
- Ave. Duration
- 58 min
- Frequency
- 3 times a day
- Estimated price
- €7–16
- Website
- Trenitalia Intercity
Train from Taranto to Brindisi
- Ave. Duration
- 58 min
- Frequency
- 3 times a day
- Estimated price
- €7–16
- Website
- Trenitalia Intercity
Train from Taranto to Brindisi
- Ave. Duration
- 58 min
- Frequency
- 3 times a day
- Estimated price
- €7–16
- Website
- Trenitalia Intercity
Train from Taranto to Metaponto
- Ave. Duration
- 28 min
- Frequency
- 5 times a day
- Estimated price
- €4–10
- Website
- Trenitalia Intercity
Train from Taranto to Metaponto
- Ave. Duration
- 28 min
- Frequency
- 5 times a day
- Estimated price
- €4–10
- Website
- Trenitalia Intercity
Train from Taranto to Metaponto
- Ave. Duration
- 28 min
- Frequency
- 5 times a day
- Estimated price
- €4–10
- Website
- Trenitalia Intercity
Train from Taranto to Brindisi
- Ave. Duration
- 58 min
- Frequency
- 3 times a day
- Estimated price
- €7–16
- Website
- Trenitalia Intercity
- Phone
- 06 3000
- Website
- Trenitalia ICN
Night train from Taranto to Milano Centrale
- Ave. Duration
- 12h 16m
- Frequency
- Once daily
- Estimated price
- €90–180
- Website
- Trenitalia ICN
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Bari Centrale to Milano Centrale
- Ave. Duration
- 8h 40m
- Frequency
- Once daily
- Estimated price
- €130–260
- Website
- Italo Treno
Train from Bologna centrale to Milano Centrale
- Ave. Duration
- 1h 4m
- Frequency
- Every 30 minutes
- Estimated price
- €27–55
- Website
- Italo Treno
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Taranto to Brindisi
- Ave. Duration
- 1h 10m
- Frequency
- Every 4 hours
- Estimated price
- €8–14
- Website
- Trenitalia
Train from Taranto to Brindisi
- Ave. Duration
- 1h 10m
- Frequency
- Every 4 hours
- Estimated price
- €8–14
- Website
- Trenitalia
Train from Taranto to Brindisi
- Ave. Duration
- 1h 10m
- Frequency
- Every 4 hours
- Estimated price
- €8–14
- Website
- Trenitalia
Train from Taranto to Metaponto
- Ave. Duration
- 33 min
- Frequency
- 5 times a day
- Estimated price
- €5–9
- Website
- Trenitalia
Train from Taranto to Metaponto
- Ave. Duration
- 33 min
- Frequency
- 5 times a day
- Estimated price
- €5–9
- Website
- Trenitalia
Train from Taranto to Metaponto
- Ave. Duration
- 33 min
- Frequency
- 5 times a day
- Estimated price
- €5–9
- Website
- Trenitalia
Train from Taranto to Brindisi
- Ave. Duration
- 1h 10m
- Frequency
- Every 4 hours
- Estimated price
- €8–14
- Website
- Trenitalia
- 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
- 800 07 9090
- Website
- fseonline.it
Bus from Taranto Porto Mercantile to Bari Viale Unità d'Italia
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- €8–14
- Schedules at
- fseonline.it
Bus from Taranto Porto Mercantile to Bari Viale Unità d'Italia
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- €8–14
- Schedules at
- fseonline.it
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Bari to Milano, San Donato M3
- Ave. Duration
- 11h
- Frequency
- Once daily
- Estimated price
- €65–110
- Website
- Flixbus
- 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
- Phone
- +39 080 579 0211
- info@sitasudtrasporti.it
- Website
- sitasudtrasporti.it
Bus from Metaponto to Matera
- Ave. Duration
- 45 min
- Frequency
- 3 times a day
- Estimated price
- €2–5
- Schedules at
- sitasudtrasporti.it
Bus from Matera piazza Matteotti to Bari Airport
- Ave. Duration
- 1h 15m
- Frequency
- 5 times a day
- Estimated price
- €3–6
- Schedules at
- sitasudtrasporti.it
- Book at
- marozzivt.it
Bus from Metaponto to Matera
- Ave. Duration
- 45 min
- Frequency
- 3 times a day
- Estimated price
- €2–5
- Schedules at
- sitasudtrasporti.it
Bus from Matera piazza Matteotti to Bari Airport
- Ave. Duration
- 1h 15m
- Frequency
- 5 times a day
- Estimated price
- €3–6
- Schedules at
- sitasudtrasporti.it
- Book at
- marozzivt.it
Bus from Metaponto to Matera
- Ave. Duration
- 45 min
- Frequency
- 3 times a day
- Estimated price
- €2–5
- Schedules at
- sitasudtrasporti.it
Bus from Matera piazza Matteotti to Bari Airport
- Ave. Duration
- 1h 15m
- Frequency
- 5 times a day
- Estimated price
- €3–6
- Schedules at
- sitasudtrasporti.it
- Book at
- marozzivt.it
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
Booking & Getting There
Taranto to Milan bus services, operated by Ferrovie del Sud Est e Servizi Automobilistici S.r.l., arrive at Bari Viale Unità d'Italia station.
Taranto to Milan train services, operated by Trenitalia Frecce, arrive at Milano Centrale station.
Yes, the driving distance between Taranto to Milan is 963 km. It takes approximately 8h 40m to drive from Taranto to Milan.
Book your Taranto to Milan train tickets online with Omio.
Book your Taranto to Milan bus tickets online with Omio.
There are 14163+ hotels available in Milan.












































