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 to Milan Linate Airport
best- Fly from Bari Karol Wojtyła Airport (BRI) to Milan Linate Airport (LIN)plane BRI - LIN
1h 58m€78–216Rideshare
cheapest- Take the rideshare from Bari to Milan878.1 km
10h 3m€49Train via Reggio Emilia (Trenitalia)
- Take the train from Bari Centrale to Reggio Emilia Avtrain Fr
- Take the train from Reggio Emilia Av to Milano Centraletrain Fr
8h 38m€122–256Bus
- Take the bus from Bari to Milano, San Donato M3bus 420
13h 45m€65–111Drive 880.4 km
- Drive from Bari Port to Milancar 880.4 km
8h€139–201Fly 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
2h 54m€72–258Fly to Milano Malpensa Airport, train
- 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
2h 58m€60–208Train (Trenitalia)
- Take the train from Bari Centrale to Milano Centraletrain Fr
8h 41m€91–251Train #2
- Take the train from Bari Centrale to Milano Centraletrain 9928
9h 53m€131–261
Bari Port to Milan by bus and train (Trenitalia)
Questions & Answers
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 1h 58m and costs €75 - €220.
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 Reggio Emilia Av. The journey, including transfers, takes approximately 8h 38m.
The distance between Bari Port and Milan is 793 km. The road distance is 880.4 km.
The best way to get from Bari Port to Milan without a car is to train via Reggio Emilia which takes 8h 38m and costs €120 - €260.
It takes approximately 1h 58m 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 1h 58m and costs €75 - €220. Alternatively, you can train via Reggio Emilia, which costs €120 - €260 and takes 8h 38m, you could also bus, which costs €65 - €120 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, you can take a bus from Garibaldi-Visconti to Milano Centrale via Bari Centrale, Bari Centrale, and Reggio Emilia Av in around 8h 38m.
- Website
- ryanair.com
Flights from Bari Karol Wojtyła Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €40–210
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €27–150
- Phone
- +39 06 68475475
- Website
- Trenitalia Frecce
Train from Bari Centrale to Reggio Emilia Av
- Ave. Duration
- 6h 5m
- Frequency
- Every 4 hours
- Estimated price
- €100–210
- Schedules at
- Trenitalia Frecce
Train from Reggio Emilia Av to Milano Centrale
- Ave. Duration
- 50 min
- Frequency
- Hourly
- Estimated price
- €21–45
- Schedules at
- Trenitalia Frecce
Train from Bari Centrale to Milano Centrale
- Ave. Duration
- 7h 40m
- Frequency
- Every 4 hours
- Estimated price
- €120–250
- Schedules at
- Trenitalia Frecce
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Bari to Milano, San Donato M3
- Ave. Duration
- 12h 30m
- Frequency
- Once daily
- Estimated price
- €65–110
- 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
More Questions & Answers
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 Reggio Emilia Av station.
Yes, the driving distance between Bari Port to Milan is 880 km. It takes approximately 8h to drive from Bari Port to Milan.
There are 14128+ 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.







