There are 10 ways to get from Bari to Milan by plane, train, bus, rideshare or car

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Fly Bari to Milan Linate  •  2 h 59 min

  1. Fly from Bari (BRI) to Milan Linate (LIN) BRI - LIN

$57 - $279

Cheapest option

Fly Bari to Milan Bergamo  •  3 h 57 min

  1. Fly from Bari (BRI) to Milan Bergamo (BGY) BRI - BGY

$41 - $288

8 alternative options

Fly Bari to Milan Malpensa  •  3 h 42 min

  1. Fly from Bari (BRI) to Milan Malpensa (MXP) BRI - MXP

$63 - $242

Train to Brindisi, fly to Milan Linate  •  4 h 11 min

  1. Take the train from Bari Centrale to Brindisi
  2. Fly from Brindisi (BDS) to Milan Linate (LIN) BDS - LIN

$80 - $311

Train via Bologna C.Le  •  7 h 12 min

  1. Take the train from Bari Centrale to Bologna C.Le Fb / ...
  2. Take the train from Bologna C.Le to Milano Centrale Fr / ...

$87 - $141

Train  •  7 h 55 min

  1. Take the train from Bari Centrale to Milano Centrale Fb / ...

$95 - $140

Bus Marino Autolinee  •  12 h 5 min

  1. Take the bus from Bari Largo Sorrentino to Milano Rogoredo 12

$67 - $76

Bus Baltour  •  14 h 16 min

  1. Take the bus from Bari - L.Go Sorrentino Dietro Staz. Fs to Milano - Autostazione San Donato Baltour

$46 - $64

Rideshare  •  10 h 3 min

  1. Take the rideshare from Bari to Milan 550.4 miles

$57

Drive  •  7 h 52 min

  1. Drive from Bari to Milan 551.1 miles

$130 - $200

Questions & Answers

The cheapest way to get from Bari to Milan is to bus which costs 35€ - 55€ and takes 14 h 16 min.

More details

The quickest way to get from Bari to Milan is to fly which costs 45€ - 240€ and takes 2 h 59 min.

More details

No, there is no direct bus from Bari to Milan. However, there are services departing from Bari - L.Go Sorrentino Dietro Staz. Fs and arriving at via verziere via san donato m3. The journey, including transfers, takes approximately 14 h 16 min.

More details

Yes, there is a direct train departing from Bari Centrale and arriving at Milano Centrale. Services depart every four hours, and operate every day. The journey takes approximately 7 h 55 min.

More details

The distance between Bari and Milan is 786 km. The road distance is 881.7 km.

Get driving directions

The best way to get from Bari to Milan without a car is to train which takes 7 h 12 min and costs 75€ - 130€.

More details

It takes approximately 2 h 59 min to get from Bari to Milan, including transfers.

More details

Bari to Milan bus services, operated by Baltour, depart from Bari - L.Go Sorrentino Dietro Staz. Fs station.

More details

Bari to Milan train services, operated by Trenitalia Frecce, depart from Bari Centrale station.

More details

The best way to get from Bari to Milan is to fly which takes 2 h 59 min and costs 45€ - 240€. Alternatively, you can train, which costs 75€ - 130€ and takes 7 h 12 min, you could also bus, which costs 55€ - 65€ and takes 12 h 5 min.

Mode details

The quickest flight from Bari Airport to Milan Linate Airport is the direct flight which takes 1 h 25 min.

Search flights

Bari to Milan bus services, operated by Baltour, arrive at Milano - Autostazione San Donato station.

More details

Map of how to get from Bari to Milan.
Launch map view
  • Distance: 491.5 miles
  • Duration: 2 h 59 min

What companies run services between Bari, Italy and Milan, Italy?

Alitalia flies from Bari to Milan hourly. Alternatively, you can take a train from Bari to Milan via Bologna C.Le in around 7 h 12 min.

Airlines
Alitalia
Website
alitalia.com
Flights from Bari to Milan Linate
Ave. Duration
1 h 25 min
When
Every day
Estimated price
$55 - $500
Flights from Bari to Milan Linate via Rome
Ave. Duration
3 h 22 min
When
Every day
Estimated price
$55 - $500
Flights from Bari to Milan Malpensa via Rome
Ave. Duration
3 h 31 min
When
Every day
Estimated price
$230 - $1,500
Flights from Brindisi to Milan Linate
Ave. Duration
1 h 35 min
When
Every day
Estimated price
$75 - $550
Flights from Brindisi to Milan Linate via Rome
Ave. Duration
3 h 45 min
When
Every day
Estimated price
$75 - $550
Ryanair
Website
ryanair.com
Flights from Bari to Milan Bergamo
Ave. Duration
1 h 35 min
When
Every day
Estimated price
$35 - $370
easyJet
Website
easyjet.com
Flights from Bari to Milan Malpensa
Ave. Duration
1 h 35 min
When
Every day
Estimated price
$55 - $390
Swiss
Website
swiss.com
Flights from Bari to Milan Malpensa via Zurich
Ave. Duration
3 h 50 min
When
Monday, Wednesday, Friday and Saturday
Estimated price
$190 - $800
Lufthansa
Website
lufthansa.com
Flights from Bari to Milan Malpensa via Munich
Ave. Duration
4 h 10 min
When
Every day
Estimated price
$240 - $380
Train operators
Trenitalia Frecce

The primary train operator in Italy, Trenitalia was created in the year 2000. Trenitalia offers national rail connections in Italy as well as international connections to Austria, France, Germany and Switzerland. The company operates regional and long-distance trains, as well as high-speed trains called Frecce that travel on specialised tracks on speeds of up to 360km/h. Trenitalia tickets are available online, in stations across the country or from many travel agents that offer bookings.

Contact Details
Phone
+39 06 68475475
Website
trenitalia.com
Train from Bari Centrale to Brindisi
Ave. Duration
52 min
Frequency
Hourly
Estimated price
$18 - $26
Website
orario.trenitalia.com
Train from Bari Centrale to Bologna C.Le
Ave. Duration
5 h 44 min
Frequency
Every 2 hours
Estimated price
$75 - $110
Website
orario.trenitalia.com
Train from Bologna C.Le to Milano Centrale
Ave. Duration
1 h 2 min
Frequency
Hourly
Estimated price
$22 - $35
Website
orario.trenitalia.com
Train from Bari Centrale to Milano Centrale
Ave. Duration
7 h 55 min
Frequency
Every 4 hours
Estimated price
$95 - $140
Website
orario.trenitalia.com
ItaloTreno
Phone
+39 060708
Website
italotreno.it
Train from Bologna Centrale Station to Milano Centrale Station
Ave. Duration
1 h 4 min
Frequency
Once daily
Estimated price
$12 - $17
Website
italotreno.it
Bus operators
Marino Autolinee
Phone
+39 080 3112335
Email
info@marinobus.it
Website
marinobus.it
Bus from Bari Largo Sorrentino to Milano Rogoredo
Ave. Duration
11 h 50 min
Frequency
Once daily
Estimated price
$65 - $75
Schedules at
marinobus.it
Book at
booking.marinobus.it
Baltour
Phone
+39 0861 1991900
Email
info@baltour.it
Website
baltour.it
Bus from Bari - L.Go Sorrentino Dietro Staz. Fs to Milano - Autostazione San Donato
Ave. Duration
13 h 25 min
Frequency
3 times a day
Estimated price
$45 - $65
Website
http://www.baltour.it/
Other operators
BlaBlaCar

A ridesharing platform with 40 million users, Blablacar gives you access to destinations without worrying about on-the-road chaos. The basic idea is that you carpool with locals who are already planning to drive your route and have space in their car. With some flexibility you’ll get to your destination – often faster and cheaper than other means. On the website or app, enter your departure and arrival points and your date of travel, sift through the profiles of drivers who’ve posted pre-planned drives and find one whose timing and preferences match yours. Request to join the ride, wait be accepted, and pay your share of the set price.

Rome2rio's guide to BlaBlaCar
Contact Details
Website
blablacar.com
Rideshare from Bari to Milan
Ave. Duration
10 h 3 min
Frequency
4 times a day
Estimated price
$57
Book at
blablacar.co.uk

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.