There are 9 ways to get from Bari Port to Milan by plane, train (Trenitalia), bus, car, train, 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 34m€63–190Fly 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
4h 24m€35–173Train (Trenitalia)
- Take the train from Bari Centrale to Milano Centraletrain Fr
8h 44m€96–201Bus
- Take the bus from Bari to Milano, San Donato M3bus 420
13h 45m€80–121Drive 880.4 km
- Drive from Bari Port to Milancar 880.4 km
8h€160–230Fly 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
4h 18m€42–220Train 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 42m€70–201Train via Stazione Marittima
- Take the train from Bari Centrale to Milano Centraletrain 9928
9h 53m€121–201Rideshare
- Take the rideshare from Bari to Milan878.1 km
10h 3m€49
Bari Port to Milan by bus and train (Trenitalia)
Comparing Your Travel Options
The cheapest way to get from Bari Port to Milan is to rideshare which costs €49 and takes 10h 3m.
The fastest way to get from Bari Port to Milan is to fly which takes 3h 34m and costs €60 - €190.
No, there is no direct bus from Bari Port to Milan. However, there are services departing from Bari Porto and arriving at Milano, San Donato M3 via Bari. The journey, including transfers, takes approximately 13h 45m.
No, there is no direct train from Bari Port to Milan. However, there are services departing from Bari Centrale and arriving at Milano Centrale via . The journey, including transfers, takes approximately 8h 44m.
The distance between Bari Port and Milan is 797 km. The road distance is 880.4 km.
The best way to get from Bari Port to Milan without a car is to train which takes 8h 44m and costs €95 - €210.
It takes approximately 3h 34m to get from Bari Port to Milan, including transfers.
Bari Port to Milan bus services, operated by FlixBus, depart from Bari station.
Bari Port to Milan train services, operated by Trenitalia Frecce, depart from Bari Centrale station.
The best way to get from Bari Port to Milan is to fly which takes 3h 34m and costs €60 - €190. Alternatively, you can train, which costs €95 - €210 and takes 8h 44m, you could also bus, which costs €80 - €130 and takes 13h 45m.
What companies run services between Bari Port, 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. Trenitalia Intercity also services this route 5 times a day.
- 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
- €24–160
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
- €95–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 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
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Bari Centrale to Brindisi
- Ave. Duration
- 1h 22m
- Frequency
- Hourly
- Estimated price
- €13–18
- Website
- Trenitalia
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Bari Centrale to Milano Centrale
- Ave. Duration
- 8h 40m
- Frequency
- Once daily
- Estimated price
- €120–200
- Website
- Italo Treno
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
- €80–120
- 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
- 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
- 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 Port to Milan bus services, operated by FlixBus, arrive at Milano, San Donato M3 station.
Bari Port to Milan train services, operated by Trenitalia Frecce, arrive at Milano Centrale station.
Yes, the driving distance between Bari Port to Milan is 880 km. It takes approximately 8h to drive from Bari Port to Milan.
Book your Bari Port to Milan train tickets online with 12go.asia.
Book your Bari Port to Milan bus tickets online with 12go.asia.
There are 13771+ hotels available in Milan.
Check out Blablacar's carpooling service for rideshare options between Bari Port and Milan. A great option if you don't have a driver's licence or want to avoid public transport.


































