How to travel from Bari to Milan

Mon, Oct 12
+ Add return
Travel by bus, train, flight with
Malta Air
Frecciarossa
Marino Autolinee
Intercity Notte
FlixBus
1,000+ more
Malta Air
Frecciarossa
Marino Autolinee
Intercity Notte
FlixBus
1,000+ more
QR-Code
Scan to get our free app
Use our app to get live travel updates and book mobile tickets for trains, buses, flights, and ferries.
App Store
rate4.9
42K ratings
Google Play
rate4.6
136K reviews

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 €52 For those with little time, consider booking a flight, which has an average total journey time of 3h 58m. 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 €164.

Distance: 786 km

Compare train with

Most popular
Train
Bus
Flight

€57

Average price

€52

Average price

Cheapest

€164

Average price

8h 16m

Average total duration

7h 46m

Onboard

+

30m

Additional time*

13h 50m

Average total duration

13h 20m

Onboard

+

30m

Additional time*

3h 58m

Average total duration

Fastest

1h 58m

Onboard

+

2h 0m

Additional time*

0.2 - 0.7kg

CO2 emissions

Lowest

0.8 - 2.0kg

CO2 emissions

-

CO2 emissions

Frecciarossa

Most popular train company

FlixBus

Most popular bus company

ITA

Most popular airline

Direct Options

Direct Options

Direct Options

Additional time: Average total travel duration to departure point, security checks and transfers.

The cheapest way to travel from Bari to Milan is a bus with an average price of €52.

This is compared to other travel options from Bari to Milan:

A bus is €4 less than a train for this route with tickets for a train from Bari to Milan costing on average €57.

A bus is €112 less than a flight for this route with tickets for a flight from Bari to Milan costing on average €164.

The fastest way to travel from Bari to Milan is by flight with an average journey time of 3h 58m.

Other travel options to Milan take longer:

Train takes on average 8h 16m.

Bus takes on average 13h 50m.

It's helpful to compare your options as there are 3 ways to travel between Bari and Milan including taking a bus, train, and flight.

Travel options
from Bari to Milan

How to get from Bari to Milan by train, bus or flight.

Our recommendation

bus

The best way to travel from Bari to Milan is by taking a bus because it’s the best combination of price and speed.

  • Itabus2214
    8:20 PM11h15
    Bari, Via Capruzzi (Terminal Bus Bari)
    7:35 AMMilano, San Donato - Settore B (Viale Giuseppe Impastato)
    €301One-way
    0 transfers

Cheapest

  • Itabus2214
    8:20 PM11h15
    Bari, Via Capruzzi (Terminal Bus Bari)
    7:35 AMMilano, San Donato - Settore B (Viale Giuseppe Impastato)
    €301One-way
    0 transfers

Fastest

  • ITAAZ1650
    9:35 PM1h24
    Bari Palese Airport
    10:59 PMMilan Linate Airport
    €1191One-way
    0 transfers

Other options

  • Intercity NotteInterCityNotte 754+RegionaleRegionale TRENORD 10858
    10:10 PM10h49
    Bari Centrale
    8:59 AMMilan Rogoredo
    €691One-way
    1 transfer
  • Intercity NotteInterCityNotte 758
    9:30 PM10h50
    Bari Centrale
    8:20 AMMilan Centrale
    €691One-way
    0 transfers
  • IntercityIntercity 606
    5:55 AM9h35
    Bari Centrale
    3:30 PMMilan Centrale
    €801One-way
    0 transfers
  • Itabus2214
    8:20 PM12h00
    Bari, Via Capruzzi (Terminal Bus Bari)
    8:20 AMMilano, Autostazione Lampugnano
    €301One-way
    0 transfers
  • Itabus2422
    5:40 PM14h00
    Bari, Via Capruzzi (Terminal Bus Bari)
    7:40 AMMilano, San Donato - Settore B (Viale Giuseppe Impastato)
    €301One-way
    0 transfers
  • FlixBusFlixBus
    7:30 AM12h30
    Bari, Via Capruzzi (Terminal Bus Bari)
    8:00 PMMilano, San Donato - Settore B (Viale Giuseppe Impastato)
    €331One-way
    0 transfers
  • easyJetU23530
    12:20 AM1h35
    Bari Palese Airport
    1:55 AMMilan Malpensa Airport
    €901One-way
    0 transfers
  • ITAAZ1606 · AZ2130
    7:25 PM3h45
    Bari Palese Airport
    11:10 PMMilan Linate Airport
    €1211One-way
    1 transfer
  • ITAAZ1616 · AZ2050
    3:20 PM3h50
    Bari Palese Airport
    7:10 PMMilan Linate Airport
    €1211One-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 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.

Sun
Oct 11
Mon
Oct 12
Tue
Oct 13
Wed
Oct 14
Thu
Oct 15
Fri
Oct 16
Sat
Oct 17
Sun
Oct 18
Mon
Oct 19
Tue
Oct 20
Wed
Oct 21
Thu
Oct 22
Fri
Oct 23
Sat
Oct 24
Sun
Oct 25
Mon
Oct 26
Tue
Oct 27
Wed
Oct 28
Thu
Oct 29
Fri
Oct 30
Sat
Oct 31

More than 1,000 travel companies trust us to sell their tickets all in one place.

Trenitalia
Easyjet
Deutsche Bahn
SNCF

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.

FAQs
There are 3 options to travel between Bari and Milan including taking a bus, train, and flight.
The cheapest way to travel from Bari to Milan is a bus with an average price of €52.

This is compared to other travel options from Bari to Milan:

A bus is €4 less than a train for this route with tickets for a train from Bari to Milan costing on average €57.

A bus is €112 less than a flight for this route with tickets for a flight from Bari to Milan costing on average €164.

The fastest way to travel from Bari to Milan is by flight with an average journey time of 3h 58m.

Other travel options to Milan take longer:

Train takes on average 8h 16m.

Bus takes on average 13h 50m.

The Bari to Milan distance is approximately 786 km.
The average frequency per day from Bari to Milan is:
  • Around 40 trains per day.
  • Around 28 buses per day.
  • Around 20 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.

These are the most popular departure and arrival points from Bari to Milan:
  • 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.
If finding a good deal is your main consideration for your trip from Bari to Milan, then we'll help you find the best value travel companies for you:
  • Travel with Marino Autolinee, FlixBus, Itabus to go to Milan by bus.
  • Travel with Malta Air, ITA, easyJet, Ryanair, Eurowings, Avion Express Malta, Luxair to go to Milan by flight.
  • Travel with Frecciarossa, Intercity Notte, Intercity, Italo, Frecciargento to go to Milan by train.
Yes, there are direct services available from Bari to Milan with the following travel companies:
  • 10 direct buses per day with Marino Autolinee, FlixBus, Itabus.
  • 10 direct flights per day with Malta Air, ITA, easyJet, Ryanair.
  • 14 direct trains per day with Frecciarossa, Intercity Notte, Intercity, Italo.
Omio customers who travel from Bari to Milan often also extend their vacation to go to Paris, Rome, Venice, Como, Florence. Omio can help you plan your trip by finding the best connections between Milan and these popular destinations at a great price.
HomeTravelTravel to MilanHow to travel from Bari to Milan

The Omio App Makes Travel Planning Easy

We’ll get you where you want to go. From live train updates to mobile tickets, our innovative app is the ideal way to plan and keep track of your travel.

ios-badge
android-badge
Hand With Phone