There are 11 ways to get from Milan to Bari by plane, train (Trenitalia), bus, night train, 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 from Milan Linate Airport
best- Fly from Milan Linate Airport (LIN) to Bari Karol Wojtyła Airport (BRI)plane LIN - BRI
2h 51m€74–164Bus via San Giovanni Rotondo
cheapest- Take the bus from Milano, San Donato M3 to San Giovanni Rotondo - p.zza Europa-Uff.bus
- Take the bus from San Giovanni Rotondo to Bari Capruzzibus SITAsud
12h 45m€41–68Train
- Take the train from Milano Centrale to Bari Centraletrain Fr
7h 37m€85–240Bus
- Take the bus from Milano, San Donato M3 to Baribus N435 / ...
10h 50m€55–95Night train
- Take the night train from Milano Centrale to Bari Centralenighttrain Ini
14h 35m€65–100Train to Milano Malpensa Airport, fly
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Bari Karol Wojtyła Airport (BRI)plane MXP - BRI
3h 17m€58–167Bus to Il Caravaggio International Airport, fly
- Take the bus from Piazza Luigi di Savoia to Bergamo Airport Bus Stationbus
- Fly from Il Caravaggio International Airport (BGY) to Bari Karol Wojtyła Airport (BRI)plane BGY - BRI
3h 39m€66–209Train to Verona Villafranca Airport, fly
- Take the train from Milano Centrale to Verona Porta Nuovatrain
- Fly from Verona Villafranca Airport (VRN) to Bari Karol Wojtyła Airport (BRI)plane VRN - BRI
4h 16m€107–281Train via Reggio Emilia
- Take the train from Milano Centrale to Reggio Emilia Avtrain Fr
- Take the train from Reggio Emilia Av to Bari Centraletrain Fr
7h 51m€122–243Drive 880.3 km
- Drive from Milan to Baricar 880.3 km
7h 52m€137–198Rideshare
- Take the rideshare from Milan to Bari880.1 km
10h 7m€49
Milan to Bari by train
Questions & Answers
The cheapest way to get from Milan to Bari is to rideshare which costs €49 and takes 10h 7m.
The fastest way to get from Milan to Bari is to fly which takes 2h 51m and costs €70 - €170.
Yes, there is a direct bus departing from Milano, San Donato M3 and arriving at Bari. Services depart once daily, and operate every day. The journey takes approximately 10h 50m.
Yes, there is a direct train departing from Milano Centrale and arriving at Bari Centrale. Services depart every three hours, and operate every day. The journey takes approximately 7h 37m.
The distance between Milan and Bari is 791 km. The road distance is 880.3 km.
The best way to get from Milan to Bari without a car is to train which takes 7h 37m and costs €85 - €240.
It takes approximately 2h 51m to get from Milan to Bari, including transfers.
Milan to Bari bus services, operated by FlixBus, depart from Milano, San Donato M3 station.
Milan to Bari train services, operated by Trenitalia Frecce, depart from Milano Centrale station.
The best way to get from Milan to Bari is to fly which takes 2h 51m and costs €70 - €170. Alternatively, you can train, which costs €85 - €240 and takes 7h 37m, you could also bus, which costs €55 - €95 and takes 10h 50m.
What companies run services between Milan, Italy and Bari, Italy?
ITA Airways flies from Milan Linate Airport (LIN) to Bari Karol Wojtyła Airport (BRI) every 4 hours. Alternatively, Trenitalia Frecce operates a train from Milano Centrale to Bari Centrale every 4 hours. Tickets cost €120–240 and the journey takes 7h 37m. Two other operators also service this route.
- Website
- ryanair.com
Flights from Milano Malpensa Airport to Bari Karol Wojtyła Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €30–120
Flights from Il Caravaggio International Airport to Bari Karol Wojtyła Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €35–160
Flights from Verona Villafranca Airport to Bari Karol Wojtyła Airport
- Ave. Duration
- 1h 25m
- When
- Every day
- Estimated price
- €35–200
- Website
- ita-airways.com
Flights from Milan Linate Airport to Bari Karol Wojtyła Airport
- Ave. Duration
- 1h 26m
- When
- Every day
- Estimated price
- €45–130
Flights from Milan Linate Airport to Bari Karol Wojtyła Airport via Rome
- Ave. Duration
- 3h 32m
- When
- Every day
- Estimated price
- €45–130
- Website
- easyjet.com
Flights from Milano Malpensa Airport to Bari Karol Wojtyła Airport
- Ave. Duration
- 1h 37m
- When
- Every day
- Estimated price
- €25–100
- Website
- neosair.it
Flights from Milano Malpensa Airport to Bari Karol Wojtyła Airport
- Ave. Duration
- 1h 20m
- When
- Thursday
- Estimated price
- €120–400
- Website
- skyalps.com
Flights from Il Caravaggio International Airport to Bari Karol Wojtyła Airport via Mostar
- Ave. Duration
- 3h 40m
- When
- Monday and Friday
- Estimated price
- €200–380
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Centrale to Bari Centrale
- Ave. Duration
- 7h 37m
- Frequency
- Every 4 hours
- Estimated price
- €120–240
- Schedules at
- trenitalia.com
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 44 min
- Frequency
- Hourly
- Estimated price
- €21–45
- Schedules at
- trenitalia.com
Train from Reggio Emilia Av to Bari Centrale
- Ave. Duration
- 6h 7m
- Frequency
- Every 4 hours
- Estimated price
- €100–200
- Schedules at
- trenitalia.com
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Centrale to Bari Centrale
- Ave. Duration
- 9h 45m
- Frequency
- 3 times a day
- Estimated price
- €85–200
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Milano Centrale to Bari Centrale
- Ave. Duration
- 8h 27m
- Frequency
- Once daily
- Estimated price
- €100–140
- Website
- https://www.italotreno.it/en
- Smart Economy
- €100–130
- Smart Flex
- €110–140
Train from Milano Centrale to Verona Porta Nuova
- Ave. Duration
- 1h 12m
- Frequency
- Hourly
- Estimated price
- €30–45
- Website
- https://www.italotreno.it/en
- Smart Economy
- €30–45
- Smart Flex
- €35–45
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 46 min
- Frequency
- 4 times a day
- Estimated price
- €30–45
- Website
- https://www.italotreno.it/en
- Smart Economy
- €30–45
- Smart Flex
- €35–45
- Phone
- 06 3000
- Website
- trenitalia.com
Night train from Milano Centrale to Bari Centrale
- Ave. Duration
- 14h 35m
- Frequency
- Twice daily
- Estimated price
- €65–100
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Milano, San Donato M3 to Bari
- Ave. Duration
- 10h 50m
- Frequency
- Once daily
- Estimated price
- €55–95
- Website
- https://www.flixbus.co.uk
- info@flibco.com
- Website
- flibco.com
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €8–12
- Website
- https://www.flibco.com/en
- Phone
- +39 02 3008 9000
- mail@autostradale.it
- Website
- autostradale.it
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 1h
- Frequency
- Every 30 minutes
- Estimated price
- €4–17
- Website
- https://autostradale.it/?lang=en-GB
- Standard Rate
- €13–17
- Phone
- +39 (0) 0882 - 228960
- Website
- ferroviedelgargano.com
Bus from Milano, San Donato M3 to San Giovanni Rotondo - p.zza Europa-Uff.
- Ave. Duration
- 9h 40m
- Frequency
- 3 times a day
- Estimated price
- €35–55
- Schedules at
- ferroviedelgargano.com
- Phone
- +39 080 579 0211
- info@sitasudtrasporti.it
- Website
- sitasudtrasporti.it
Bus from San Giovanni Rotondo to Bari Capruzzi
- Ave. Duration
- 2h 5m
- Frequency
- Once a week
- Estimated price
- €6–14
- Schedules at
- sitasudtrasporti.it
- 2nd Class
- €6–10
- Phone
- +3 318 576 2228
- Website
- blablacar.com
Rideshare from Milan to Bari
- Ave. Duration
- 10h 7m
- Frequency
- 5 times a day
- Estimated price
- €49
- Schedules at
- blablacar.com
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
Milan to Bari bus services, operated by FlixBus, arrive at Bari station.
Milan to Bari train services, operated by Trenitalia Frecce, arrive at Bari Centrale station.
Yes, the driving distance between Milan to Bari is 880 km. It takes approximately 7h 52m to drive from Milan to Bari.
Book your Milan to Bari train tickets online with Omio.
Book your Milan to Bari bus tickets online with Omio and FlixBus.
There are 4029+ hotels available in Bari.
Check out Blablacar's carpooling service for rideshare options between Milan and Bari. A great option if you don't have a driver's licence or want to avoid public transport.













































