Travel Information
Compare train, bus, and flight for Milan to Bari
Omio recommends booking the train as it is the most popular option from Milan to Bari among Omio's users. If you are prioritising price, take the bus, with an average ticket price of €52 For those with little time, consider booking a flight, which has an average total journey time of 4h 1m. If you are seeking to minimise your carbon footprint, the train is your best option, with estimated CO2 emissions of 0.2 - 0.7kg. Average ticket prices depend on the travel mode: a bus costs an average of €52, while a flight costs an average of €158.
Distance: 786 km
Compare train with
Most popular Train | Bus | Flight | Driving |
|---|---|---|---|
€67 Average price | €52 Average price Cheapest | €158 Average price | €225 Average price (fuel + tolls) |
8h 34m Average total duration 8h 4m Onboard + 30m Additional time* | 13h 39m Average total duration 13h 9m Onboard + 30m Additional time* | 4h 1m Average total duration Fastest 2h 1m Onboard + 2h 0m Additional time* | 9h 4m Average total duration (door-to-door) |
0.2 - 0.7kg CO2 emissions Lowest | 0.8 - 2.0kg CO2 emissions | - CO2 emissions | - CO2 emissions |
![]() Most popular train company | ![]() Most popular bus 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.
Compare ways to travel from Milan to Bari
Compare the available ways to get from Milan to Bari, with the key details around price, speed, convenience, and direct service.
This is compared to other travel options from Milan to Bari:
A bus is €16 less than a train for this route with tickets for a train from Milan to Bari costing on average €67.
A bus is €107 less than a flight for this route with tickets for a flight from Milan to Bari costing on average €158.
Other travel options to Bari take longer:
Train takes on average 8h 34m.
Bus takes on average 13h 39m.
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.
24219:35 PM 14h25 Milano, San Donato - Settore B (Viale Giuseppe Impastato) 12:00 PM Bari, Via Capruzzi (Terminal Bus Bari) €30 1 One-way 0 transfers
Cheapest
24219:35 PM 14h25 Milano, San Donato - Settore B (Viale Giuseppe Impastato) 12:00 PM Bari, Via Capruzzi (Terminal Bus Bari) €30 1 One-way 0 transfers
Fastest
AZ16498:55 AM 1h30 Milan Linate Airport 10:25 AM Bari Palese Airport €122 1 One-way 0 transfers
Other options
InterCityNotte 350517:45 PM 11h15 Milan Centrale 7:00 AM Bari Centrale €69 1 One-way 0 transfers
Regionale TTPER 2465 · Regionale Veloce TTPER 3927+
Intercity 61112:15 PM 11h01 Milan Centrale 11:16 PM Bari Centrale €80 1 One-way 2 transfers
Intercity 6035:25 AM 9h40 Milan Centrale 3:05 PM Bari Centrale €80 1 One-way 0 transfers
22138:05 PM 11h20 Milano, San Donato - Settore B (Viale Giuseppe Impastato) 7:25 AM Bari, Via Capruzzi (Terminal Bus Bari) €37 1 One-way 0 transfers
22137:20 PM 12h05 Milano, Autostazione Lampugnano 7:25 AM Bari, Via Capruzzi (Terminal Bus Bari) €37 1 One-way 0 transfers
201 · 2079:10 AM 11h30 Milano, San Donato - Settore B (Viale Giuseppe Impastato) 8:40 PM Bari, Via Capruzzi (Terminal Bus Bari) €37 1 One-way 1 transfer
AZ2055 · AZ16177:30 AM 3h05 Milan Linate Airport 10:35 AM Bari Palese Airport €123 1 One-way 1 transfer
AZ2109 · AZ16037:00 PM 4h00 Milan Linate Airport 11:00 PM Bari Palese Airport €123 1 One-way 1 transfer
AZ2043 · AZ161310:30 AM 4h00 Milan Linate Airport 2:30 PM Bari Palese Airport €123 1 One-way 1 transfer
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.
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 €16 less than a train for this route with tickets for a train from Milan to Bari costing on average €67.
A bus is €107 less than a flight for this route with tickets for a flight from Milan to Bari costing on average €158.
Other travel options to Bari take longer:
Train takes on average 8h 34m.
Bus takes on average 13h 39m.
- Around 31 buses per day.
- Around 25 flights per day.
- Around 21 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, Autostazione Lampugnano and arrive in Bari, Via Capruzzi (Terminal Bus Bari).
- Travel with ITA, Malta Air, easyJet, BA Euroflyer, Luxair, Ryanair, Avion Express Malta, Bulgaria Air, Icelandair, Neos Air, Eurowings to go to Bari by flight.
- Travel with FlixBus, Itabus, Marino Autolinee to go to Bari by bus.
- Travel with Frecciarossa, Intercity, Intercity Notte, Italo, Frecciargento to go to Bari by train.
- 10 direct flights per day with ITA, Malta Air, easyJet, Ryanair, Neos Air.
- 11 direct buses per day with FlixBus, Itabus, Marino Autolinee.
- 14 direct trains per day with Frecciarossa, Intercity, Intercity Notte, Italo.
Travelling from Milan to Bari: related information
Here are some other resources that might have the information you need


