Travel Information
Compare train, bus, and flight for Milan to Bari
Omio recommends booking the bus as it is the most popular option from Milan to Bari among Omio's users. If you are prioritising price take the bus with prices starting from $19. For those with little time consider booking a flight which can get you there in 5h 44m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.2 - 0.7kg. The ticket price range depends on the travel mode: a bus costs an average of $19, and a flight costs an average of $67.
Distance: 488 miles (786 km)
Compare bus with
Most popular Bus | Train | Flight | Driving |
|---|---|---|---|
$41 Average price Cheapest | $98 Average price | $158 Average price | $275 Average price (fuel + tolls) |
10h 12m Average total duration 9h 42m Onboard + 30m Additional time* | 7h 53m Average total duration 7h 23m Onboard + 30m Additional time* | 8h 44m Average total duration Fastest 5h 44m Onboard + 3h 0m Additional time* | 9h 4m Average total duration (door-to-door) |
0.8 - 2.0kg CO2 emissions | 0.2 - 0.7kg CO2 emissions Lowest | - CO2 emissions | - CO2 emissions |
![]() Most popular bus company | ![]() Most popular train company | ![]() Most popular airline | Your own car or car rental |
Direct Options | Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
This is compared to other travel options from Milan to Bari:
A bus is $57 (€46) less than a train for this route with tickets for a train from Milan to Bari costing on average $98 (€79).
A bus is $117 (€95) less than a flight for this route with tickets for a flight from Milan to Bari costing on average $158 (€128).
Other travel options to Bari take longer:
Train takes on average 7h 23m.
Bus takes on average 9h 42m.
Travel optionsfrom Milan to Bari
How to get from Milan to Bari by train, bus or flight.
Our recommendation
The best way to travel from Milan to Bari is by taking a bus because it’s the best combination of price and speed.
FlixBus8:10 AM12h15Milano, San Donato - Settore B (Viale Giuseppe Impastato)8:25 PMBari, Via Capruzzi (Terminal Bus Bari)$231One-way0 transfers
Cheapest
FlixBus8:10 AM12h15Milano, San Donato - Settore B (Viale Giuseppe Impastato)8:25 PMBari, Via Capruzzi (Terminal Bus Bari)$231One-way0 transfers
Fastest
AZ16397:25 PM1h25Milan Linate Airport8:50 PMBari Palese Airport$2011One-way0 transfers
Other options
InterCityNotte 7659:15 PM9h45Milan Centrale7:00 AMBari Centrale$851One-way0 transfers
InterCityNotte 7559:50 PM9h50Milan Centrale7:40 AMBari Centrale$851One-way0 transfers
Regionale TTPER 2465 · Regionale Veloce TTPER 3927+
Intercity 61112:15 PM11h01Milan Centrale11:16 PMBari Centrale$981One-way2 transfers
24219:35 PM14h25Milano, San Donato - Settore B (Viale Giuseppe Impastato)12:00 PMBari, Via Capruzzi (Terminal Bus Bari)$311One-way0 transfers
2495 · 110911:30 PM16h35Milano, San Donato - Settore B (Viale Giuseppe Impastato)4:05 PMBari, Via Capruzzi (Terminal Bus Bari)$331One-way1 transfer
3825 · 110911:45 PM16h20Milano, Autostazione Lampugnano4:05 PMBari, Via Capruzzi (Terminal Bus Bari)$371One-way1 transfer
AZ2109 · AZ16037:00 PM3h55Milan Linate Airport10:55 PMBari Palese Airport$1461One-way1 transfer
AZ2097 · AZ16036:00 PM4h55Milan Linate Airport10:55 PMBari Palese Airport$1461One-way1 transfer
EC35237:35 AM1h40Milan Malpensa Airport9:15 AMBari Palese Airport$1611One-way0 transfers
Find all the dates and times for this journey by train, bus, flight, and ferry .
Compare prices and tickets Prices for trains, buses and flights
Compare train, bus, and flight prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
May 25
May 26
May 27
May 28
May 29
May 30
May 31
Jun 01
Jun 02
Jun 03
Jun 04
Jun 05
Jun 06
Jun 07
Jun 08
Jun 09
Jun 10
Jun 11
Jun 12
Jun 13
Jun 14
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Milan to Bari
Travel to Bari easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from Milan to Bari.

This is compared to other travel options from Milan to Bari:
A bus is $57 (€46) less than a train for this route with tickets for a train from Milan to Bari costing on average $98 (€79).
A bus is $117 (€95) less than a flight for this route with tickets for a flight from Milan to Bari costing on average $158 (€128).
Other travel options to Bari take longer:
Train takes on average 7h 23m.
Bus takes on average 9h 42m.
- Around 29 flights per day.
- Around 28 buses per day.
- Around 19 trains per day.
However, we recommend checking specific travel dates for your route between Milan and Bari as scheduled services by train, bus, and flight can vary by season or day of the week.
- Flights mostly depart from Milan Linate Airport and arrive in Bari Palese Airport.
- Trains mostly depart from Milan Centrale and arrive in Bari Centrale.
- Buses mostly depart from Milano, San Donato - Settore B (Viale Giuseppe Impastato) and arrive in Bari, Via Capruzzi (Terminal Bus Bari).
- Travel with Malta Air, easyJet, ITA, Ryanair to go to Bari by flight.
- Travel with Itabus, Marino Autolinee, FlixBus, BlaBlaCar to go to Bari by bus.
- Travel with Intercity Notte, Frecciarossa, Intercity, Italo, Frecciargento to go to Bari by train.
- 10 direct flights per day with Malta Air, easyJet, ITA, Ryanair.
- 10 direct buses per day with Itabus, Marino Autolinee, FlixBus, BlaBlaCar.
- 13 direct trains per day with Intercity Notte, Frecciarossa, Intercity, Italo.
Travelling from Milan to Bari: related information
Here are some other resources that might have the information you need


