There are 10 ways to get from Bari Centrale to Milan by plane, train (Trenitalia), bus, train, night train, car, or rideshare
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly Bari Karol Wojtyła Airport to Milan Linate Airport
best- Fly from Bari Karol Wojtyła Airport (BRI) to Milan Linate Airport (LIN)plane BRI - LIN
3h 5m€61–178Fly Bari Karol Wojtyła Airport to Milano Malpensa Airport, train
cheapest- 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
3h 54m€33–171Train
- Take the train from Bari Centrale to Milano Centraletrain Fr
7h 42m€90–200Bus, train
- Take the bus from Bari to Verona Porta Nuova Stationbus
- Take the train from Verona Porta Nuova to Milano Centraletrain Re6
12h 7m€100–134Night train
- Take the nighttrain from Bari Centrale to Milano Centralenighttrain Ini
9h 35m€75–130Fly Bari Karol Wojtyła Airport to Il Caravaggio International Airport, bus
- 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
3h 49m€40–218Train to Brindisi Airport, fly to Milan Linate Airport
- Take the train from Bari Centrale to Brindisitrain
- Fly from Brindisi Airport (BDS) to Milan Linate Airport (LIN)plane BDS - LIN
4h 17m€69–199Bus
- Take the bus from Bari to Milano, San Donato M3bus 420
12h 37m€75–120Drive 880.8 km
- Drive from Bari Centrale to Milancar 880.8 km
7h 50m€159–229Rideshare
- Take the rideshare from Bari to Milan878.1 km
10h 21m€49
Bari Centrale to Milan by train
Comparing Your Travel Options
The cheapest way to get from Bari Centrale to Milan is to rideshare which costs €49 and takes 10h 21m.
The fastest way to get from Bari Centrale to Milan is to fly which takes 3h 5m and costs €60 - €180.
Yes, there is a direct bus departing from Bari and arriving at Milano, San Donato M3. Services depart three times a day, and operate every day. The journey takes approximately 12h 30m.
Yes, there is a direct train departing from Bari Centrale and arriving at Milano Centrale. Services depart every three hours, and operate every day. The journey takes approximately 7h 42m.
The distance between Bari Centrale and Milan is 790 km. The road distance is 880.8 km.
The best way to get from Bari Centrale to Milan without a car is to train which takes 7h 42m and costs €90 - €200.
It takes approximately 3h 5m to get from Bari Centrale to Milan, including transfers.
Bari Centrale to Milan bus services, operated by FlixBus, depart from Bari station.
Bari Centrale to Milan train services, operated by Trenitalia Frecce, depart from Bari Centrale station.
The best way to get from Bari Centrale to Milan is to fly which takes 3h 5m and costs €60 - €180. Alternatively, you can train, which costs €90 - €200 and takes 7h 42m, you could also bus, which costs €75 - €120 and takes 12h 37m.
What companies run services between Bari Centrale, Italy and Milan, Italy?
ITA Airways flies from Bari Karol Wojtyła Airport (BRI) to Milan Linate Airport (LIN) every 3 hours. Alternatively, Trenitalia Frecce operates a train from Bari Centrale to Milano Centrale every 4 hours. Tickets cost €110–200 and the journey takes 7h 42m. Two other operators also service this route.
- Website
- ryanair.com
Flights from Bari Karol Wojtyła Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €27–200
Flights from Bari Karol Wojtyła Airport to Il Caravaggio International Airport via Palermo
- Ave. Duration
- 3h 40m
- When
- Sunday
- Estimated price
- €27–200
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €23–130
- Website
- ita-airways.com
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
Flights from Brindisi Airport to Milan Linate Airport
- Ave. Duration
- 1h 39m
- When
- Every day
- Estimated price
- €55–170
Flights from Brindisi Airport to Milan Linate Airport via Rome
- Ave. Duration
- 3h 35m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €55–170
- Website
- easyjet.com
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €23–150
Flights from Brindisi Airport to Milan Linate Airport
- Ave. Duration
- 1h 45m
- When
- Monday and Thursday
- Estimated price
- €35–110
- Website
- flyulendo.com
Flights from Bari Karol Wojtyła Airport to Il Caravaggio International Airport via Tirana
- Ave. Duration
- 3h 55m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €35–160
- Website
- neosair.it
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 30m
- When
- Thursday
- Estimated price
- €110–350
- Phone
- +39 06 5210550
- Website
- Trenitalia Frecce
Train from Bari Centrale to Milano Centrale
- Ave. Duration
- 7h 42m
- Frequency
- Every 4 hours
- Estimated price
- €110–200
- Website
- Trenitalia Frecce
Train from Bari Centrale to Brindisi
- Ave. Duration
- 59 min
- Frequency
- Hourly
- Estimated price
- €15–26
- Website
- Trenitalia Frecce
- Phone
- +39 06 68475475
- Website
- Trenitalia Intercity
Train from Bari Centrale to Milano Centrale
- Ave. Duration
- 9h 35m
- Frequency
- 5 times a day
- Estimated price
- €90–170
- Website
- Trenitalia Intercity
Train from Bari Centrale to Brindisi
- Ave. Duration
- 1h 16m
- Frequency
- 5 times a day
- Estimated price
- €12–22
- Website
- Trenitalia Intercity
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Bari Centrale to Milano Centrale
- Ave. Duration
- 8h 40m
- Frequency
- Once daily
- Estimated price
- €100–170
- Website
- Italo Treno
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Train from Verona Porta Nuova to Milano Centrale
- Ave. Duration
- 1h 52m
- Frequency
- Hourly
- Estimated price
- €10–13
- 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
- 06 3000
- Website
- Trenitalia ICN
Night train from Bari Centrale to Milano Centrale
- Ave. Duration
- 9h 35m
- Frequency
- Once daily
- Estimated price
- €75–130
- Website
- Trenitalia ICN
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Bari Centrale to Brindisi
- Ave. Duration
- 1h 22m
- Frequency
- Hourly
- Estimated price
- €13–19
- Website
- Trenitalia
- Phone
- +39 0362 185 0590
- [email protected]
- Website
- Onebus
Bus from Bari to Verona Porta Nuova Station
- Ave. Duration
- 9h 28m
- Frequency
- Once a week
- Estimated price
- €85–130
- Website
- Onebus
- [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
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Bari to Milano, San Donato M3
- Ave. Duration
- 12h 30m
- Frequency
- 3 times a day
- Estimated price
- €75–120
- Website
- Flixbus
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar
Rideshare from Bari to Milan
- Ave. Duration
- 10h 3m
- Frequency
- 4 times a day
- Estimated price
- €49
- Schedules at
- BlaBlaCar
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
Bari Centrale to Milan bus services, operated by FlixBus, arrive at Milano, San Donato M3 station.
Bari Centrale to Milan train services, operated by Trenitalia Frecce, arrive at Milano Centrale station.
Yes, the driving distance between Bari Centrale to Milan is 881 km. It takes approximately 7h 50m to drive from Bari Centrale to Milan.
Book your Bari Centrale to Milan train tickets online with Omio and 12go.asia.
Book your Bari Centrale to Milan bus tickets online with Omio, FlixBus and 12go.asia.
There are 13752+ hotels available in Milan.
Check out Blablacar's carpooling service for rideshare options between Bari Centrale and Milan. A great option if you don't have a driver's licence or want to avoid public transport.







































