Travel Information
Compare bus, train, and flight for Bari to Milan
Omio recommends booking the train as it is the most popular option from Bari to Milan among Omio's users. If you are prioritising price, take the bus, with an average ticket price of $64 For those with little time, consider booking a flight, which has an average total journey time of 3h 59m. 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 $64, while a flight costs an average of $194.
Distance: 488 miles (786 km)
Compare train with
Most popular Train | Bus | Flight |
|---|---|---|
$72 Average price | $64 Average price Cheapest | $194 Average price |
8h 20m Average total duration 7h 50m Onboard + 30m Additional time* | 13h 50m Average total duration 13h 20m Onboard + 30m Additional time* | 3h 59m Average total duration Fastest 1h 59m Onboard + 2h 0m Additional time* |
0.2 - 0.7kg CO2 emissions Lowest | 0.8 - 2.0kg CO2 emissions | - CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company | ![]() Most popular airline |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Compare ways to travel from Bari to Milan
Compare the available ways to get from Bari to Milan, with the key details around price, speed, convenience, and direct service.
This is compared to other travel options from Bari to Milan:
A bus is $9 (€8) less than a train for this route with tickets for a train from Bari to Milan costing on average $72 (€61).
A bus is $131 (€109) less than a flight for this route with tickets for a flight from Bari to Milan costing on average $194 (€162).
Other travel options to Milan take longer:
Train takes on average 8h 20m.
Bus takes on average 13h 50m.
Travel optionsfrom Bari to Milan
How to get from Bari to Milan by train, bus or flight.
Our recommendation
The best way to travel from Bari to Milan is by taking a bus because it’s the best combination of price and speed.
1120 · 24007:20 AM 15h45 Bari, Via Capruzzi (Terminal Bus Bari) 11:05 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) $39 1 One-way 1 transfer
Cheapest
1120 · 24007:20 AM 15h45 Bari, Via Capruzzi (Terminal Bus Bari) 11:05 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) $39 1 One-way 1 transfer
Fastest
FR 466811:20 PM 1h30 Bari Palese Airport 12:50 AM Milan Bergamo Orio al Serio Airport $168 1 One-way 0 transfers
Other options
InterCityNotte 754+
Regionale Veloce TTPER 245610:10 PM 9h51 Bari Centrale 8:01 AM Milan Rogoredo $86 1 One-way 1 transfer
Intercity 6065:55 AM 9h35 Bari Centrale 3:30 PM Milan Centrale $95 1 One-way 0 transfers
Intercity 6088:06 AM 9h39 Bari Centrale 5:45 PM Milan Centrale $95 1 One-way 0 transfers
FlixBus8:45 PM 10h45 Bari, Via Capruzzi (Terminal Bus Bari) 7:30 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) $43 1 One-way 0 transfers
FlixBus8:45 PM 11h30 Bari, Via Capruzzi (Terminal Bus Bari) 8:15 AM Milano, Autostazione Lampugnano $43 1 One-way 0 transfers
206 · 2007:15 AM 11h25 Bari, Via Capruzzi (Terminal Bus Bari) 6:40 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) $45 1 One-way 1 transfer
FR 27710:25 PM 1h40 Bari Palese Airport 12:05 AM Milan Malpensa Airport $140 1 One-way 0 transfers
U235269:45 PM 1h35 Bari Palese Airport 11:20 PM Milan Malpensa Airport $144 1 One-way 0 transfers
U235289:10 AM 1h35 Bari Palese Airport 10:45 AM Milan Malpensa Airport $199 1 One-way 0 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 bus, train, 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 Bari to Milan
Travel to Milan 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 Bari to Milan.

This is compared to other travel options from Bari to Milan:
A bus is $9 (€8) less than a train for this route with tickets for a train from Bari to Milan costing on average $72 (€61).
A bus is $131 (€109) less than a flight for this route with tickets for a flight from Bari to Milan costing on average $194 (€162).
Other travel options to Milan take longer:
Train takes on average 8h 20m.
Bus takes on average 13h 50m.
- Around 36 trains per day.
- Around 29 buses per day.
- Around 19 flights per day.
However, we recommend checking specific travel dates for your route between Bari and Milan as scheduled services by bus, train, and flight can vary by season or day of the week.
- Flights mostly depart from Bari Palese Airport and arrive in Milan Linate Airport.
- Trains mostly depart from Bari Centrale and arrive in Milan Centrale.
- Buses mostly depart from Bari, Via Capruzzi (Terminal Bus Bari) and arrive in Milano, Autostazione Lampugnano.
- Travel with ITA, Malta Air, easyJet, BA Euroflyer, Luxair, Ryanair, Eurowings, Avion Express Malta, Neos Air to go to Milan by flight.
- Travel with FlixBus, Itabus, Marino Autolinee to go to Milan by bus.
- Travel with Frecciarossa, Intercity, Intercity Notte, Italo, Frecciargento to go to Milan by train.
- 11 direct flights per day with ITA, Malta Air, easyJet, Ryanair, Neos Air.
- 10 direct buses per day with FlixBus, Itabus, Marino Autolinee.
- 14 direct trains per day with Frecciarossa, Intercity, Intercity Notte, Italo.
Travelling from Bari to Milan: related information
Here are some other resources that might have the information you need


