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 40m€110–310Train, bus, bus to Bari Karol Wojtyła Airport, fly to Milano Malpensa Airport
cheapest- Take the train from Taranto to Gioia Del Colletrain
- Take the bus from Gioia del Colle - Ospedale to Altamura - Alberghierobus
- Take the bus from Altamura Via Matera 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 26m€45–162Bus
- Take the bus from Taranto Via per San Giorgio to Milano, Autostazione Lampugnanobus Itabus
13h 25mNight train
- Take the night train from Taranto to Milano Centralenighttrain Ini
11h 1m€90–170Drive 963 km
- Drive from Taranto to Milancar 963 km
8h 40m€150–217Bus via Bari
- Take the bus from Taranto Via Cesare Battisti to Bari Viale Unità d'Italiabus 110 inbound
- Take the bus from Bari to Milano, San Donato M3bus N435 / ...
13h 51m€69–125Train 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 16m€74–149Train 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 10m€47–192Train to Brindisi Airport, fly to Il Caravaggio International Airport
- Take the train from Taranto to Brindisitrain
- Fly from Brindisi Airport (BDS) to Il Caravaggio International Airport (BGY)plane BDS - BGY
6h€65–256Train, bus, bus to Bari Karol Wojtyła Airport, fly to Milan Linate Airport
- Take the train from Taranto to Gioia Del Colletrain
- Take the bus from Gioia del Colle - Ospedale to Altamura - Alberghierobus
- Take the bus from Altamura Via Matera to Bari Airportbus
- Fly from Bari Karol Wojtyła Airport (BRI) to Milan Linate Airport (LIN)plane BRI - LIN
7h 28m€67–159Train 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 Rogoredotrain
6h 22m€69–261Train, bus, bus to Bari Karol Wojtyła Airport, fly to Il Caravaggio International Airport
- Take the train from Taranto to Gioia Del Colletrain
- Take the bus from Gioia del Colle - Ospedale to Altamura - Alberghierobus
- Take the bus from Altamura Via Matera to Bari Airportbus
- Fly from Bari Karol Wojtyła Airport (BRI) to Il Caravaggio International Airport (BGY)plane BRI - BGY
8h 16m€58–206
Taranto to Milan by train (Trenitalia)
Questions & Answers
The cheapest way to get from Taranto to Milan is to bus via Bari which costs €65 - €130 and takes 13h 51m.
The fastest way to get from Taranto to Milan is to train and fly which takes 5h 16m and costs €70 - €150.
Yes, there is a direct bus departing from Taranto Via per San Giorgio and arriving at Milano, Autostazione Lampugnano. Services depart once daily, and operate every day. The journey takes approximately 13h 25m.
Yes, there is a direct train departing from Taranto and arriving at Milano Centrale. Services depart twice daily, and operate every day. The journey takes approximately 8h 40m.
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 40m and costs €110 - €310.
The train from Taranto to Milan Centrale takes 8h 40m including transfers and departs twice daily.
Taranto to Milan bus services, operated by Itabus, depart from Taranto Via per San Giorgio 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 40m and costs €110 - €310. Alternatively, you can bus, which costs and takes 13h 25m.
What companies run services between Taranto, Italy and Milan, Italy?
Trenitalia Frecce operates a train from Taranto to Milano Centrale once daily. Tickets cost €160–310 and the journey takes 8h 40m. Trenitalia Intercity also services this route once daily. Alternatively, Itabus operates a bus from Taranto Via per San Giorgio to Milano, Autostazione Lampugnano once daily, and the journey takes 13h 25m.
- Website
- ryanair.com
Flights from Brindisi Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €30–160
Flights from Brindisi Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 39m
- When
- Every day
- Estimated price
- €45–240
Flights from Brindisi Airport to Bologna Guglielmo Marconi Airport
- Ave. Duration
- 1h 24m
- When
- Every day
- Estimated price
- €40–150
Flights from Bari Karol Wojtyła Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €40–140
Flights from Bari Karol Wojtyła Airport to Il Caravaggio International Airport via Tirana
- Ave. Duration
- 3h 35m
- When
- Monday
- Estimated price
- €40–140
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €35–120
- Website
- ita-airways.com
Flights from Brindisi Airport to Milan Linate Airport
- Ave. Duration
- 1h 37m
- When
- Every day
- Estimated price
- €65–120
Flights from Brindisi Airport to Milan Linate Airport via Rome
- Ave. Duration
- 3h 47m
- When
- Every day
- Estimated price
- €65–120
Flights from Bari Karol Wojtyła Airport to Milan Linate Airport
- Ave. Duration
- 1h 26m
- When
- Every day
- Estimated price
- €50–120
Flights from Bari Karol Wojtyła Airport to Milan Linate Airport via Rome
- Ave. Duration
- 3h 38m
- When
- Every day
- Estimated price
- €50–120
Flights from Brindisi Airport to Bologna Guglielmo Marconi Airport via Rome
- Ave. Duration
- 3h 25m
- When
- Every day
- Estimated price
- €55–140
- Website
- easyjet.com
Flights from Brindisi Airport to Milan Linate Airport
- Ave. Duration
- 1h 45m
- When
- Monday and Thursday
- Estimated price
- €65–250
Flights from Brindisi Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 44m
- When
- Every day
- Estimated price
- €35–140
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 36m
- When
- Every day
- Estimated price
- €27–110
- Website
- swiss.com
Flights from Brindisi Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 56m
- When
- Every day
- Estimated price
- €75–310
Flights from Brindisi Airport to Bologna Guglielmo Marconi Airport via Rome
- Ave. Duration
- 3h 10m
- When
- Every day
- Estimated price
- €55–140
- Website
- neosair.it
Flights from Brindisi Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 40m
- When
- Sunday
- Estimated price
- €260–480
- Website
- skyalps.com
Flights from Bari Karol Wojtyła Airport to Il Caravaggio International Airport via Mostar
- Ave. Duration
- 3h 30m
- When
- Friday
- Estimated price
- €200–370
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Taranto to Milano Centrale
- Ave. Duration
- 8h 40m
- Frequency
- Once daily
- Estimated price
- €160–310
- Schedules at
- trenitalia.com
Train from Taranto to Gioia Del Colle
- Ave. Duration
- 31 min
- Frequency
- Once daily
- Estimated price
- €8–16
- Schedules at
- trenitalia.com
Train from Bologna Centrale to Milano Rogoredo
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €30–60
- Schedules at
- trenitalia.com
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Taranto to Milano Centrale
- Ave. Duration
- 11h 12m
- Frequency
- Once daily
- Estimated price
- €110–240
- Website
- https://www.trenitalia.com/en.html
Train from Taranto to Brindisi
- Ave. Duration
- 49 min
- Frequency
- Twice daily
- Estimated price
- €7–16
- Website
- https://www.trenitalia.com/en.html
Train from Taranto to Gioia Del Colle
- Ave. Duration
- 42 min
- Frequency
- Twice daily
- Estimated price
- €5–12
- Website
- https://www.trenitalia.com/en.html
Train from Bologna Centrale to Milano Rogoredo
- Ave. Duration
- 2h 27m
- Frequency
- Every 4 hours
- Estimated price
- €21–45
- Website
- https://www.trenitalia.com/en.html
- Phone
- 06 3000
- Website
- trenitalia.com
Night train from Taranto to Milano Centrale
- Ave. Duration
- 11h 1m
- Frequency
- Once daily
- Estimated price
- €90–170
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Taranto to Brindisi
- Ave. Duration
- 1h 11m
- Frequency
- Every 4 hours
- Estimated price
- €8–14
- Website
- https://www.trenitalia.com/en.html
Train from Taranto to Gioia Del Colle
- Ave. Duration
- 40 min
- Frequency
- Hourly
- Estimated price
- €6–11
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Bologna Centrale to Milano Rogoredo
- Ave. Duration
- 2h 39m
- Frequency
- Once daily
- Estimated price
- €45–95
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €65–95
- 2nd Class
- €45–65
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Bologna Centrale to Milano Rogoredo
- Ave. Duration
- 1h 4m
- Frequency
- Once daily
- Estimated price
- €27–55
- Website
- https://www.italotreno.it/en
- Phone
- 800 07 9090
- Website
- fseonline.it
Bus from Taranto Via Cesare Battisti to Bari Viale Unità d'Italia
- Ave. Duration
- 1h 40m
- Frequency
- Hourly
- Estimated price
- €9–15
- Schedules at
- fseonline.it
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- https://www.flixbus.fr
Bus from Bari to Milano, San Donato M3
- Ave. Duration
- 11h
- Frequency
- Once daily
- Estimated price
- €60–110
- Website
- https://www.flixbus.co.uk
- Phone
- 080/9752672
- stpbari@stpspa.it
- Website
- stpspa.it
Bus from Gioia del Colle - Ospedale to Altamura - Alberghiero
- Ave. Duration
- 50 min
- Frequency
- Once daily
- Estimated price
- €3–5
- Schedules at
- stpspa.it
- Phone
- +39 080 579 0211
- info@sitasudtrasporti.it
- Website
- sitasudtrasporti.it
Bus from Altamura Via Matera to Bari Airport
- Ave. Duration
- 50 min
- Frequency
- 5 times a day
- Estimated price
- €2–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
More Questions & Answers
Taranto to Milan bus services, operated by Itabus, arrive at Milano, Autostazione Lampugnano 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 4927+ hotels available in Milan.















































