There are 12 ways to get from Milan to Bari by plane, subway, 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 Milan Linate to Bari  •  3 h 23 min

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

$58 - $278

Cheapest option

Bus Baltour  •  14 h 2 min

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

$42 - $67

10 alternative options

Fly Milan Malpensa to Bari  •  3 h 45 min

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

$64 - $242

Line 2 subway to Milan Bergamo, fly to Bari  •  4 h 19 min

  1. Take the line 2 subway from Lanza to Cologno Nord
  2. Fly from Milan Bergamo (BGY) to Bari (BRI) BGY - BRI

$42 - $284

Fly Milan Linate to Brindisi, train  •  4 h 55 min

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

$71 - $303

Train to Verona, fly to Bari  •  4 h 36 min

  1. Take the train from Milano Centrale to Verona Porta Nuova
  2. Fly from Verona (VRN) to Bari (BRI) VRN - BRI

$79 - $465

Train to Turin, fly to Bari  •  4 h 48 min

  1. Take the train from Milano Centrale Station to Torino Porta Susa Station
  2. Fly from Turin (TRN) to Bari (BRI) TRN - BRI

$69 - $264

Train  •  7 h 46 min

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

$95 - $140

Train via Reggio Emilia AV Mediopadana Station  •  8 h 17 min

  1. Take the train from Milano Rogoredo Station to Reggio Emilia AV Mediopadana Station Mi-Na / ...
  2. Take the train from Reggio Emilia Av to Bari Centrale Fr

$102 - $152

Bus Marino Autolinee  •  13 h 10 min

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

$72 - $87

Rideshare  •  10 h 7 min

  1. Take the rideshare from Milan to Bari 551.5 miles

$56

Drive  •  7 h 54 min

  1. Drive from Milan to Bari 551.3 miles

$130 - $200

Questions & Answers

No, there is no direct bus from Milan to Bari. However, there are services departing from duomo m1 m3 and arriving at Bari - L.Go Sorrentino Dietro Staz. Fs via Milano - Autostazione San Donato. The journey, including transfers, takes approximately 14 h 2 min.

More details

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

More details

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

Get driving directions

The best way to get from Milan to Bari without a car is to train which takes 7 h 46 min and costs .

More details

It takes approximately 3 h 23 min to get from Milan to Bari, including transfers.

More details

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

More details

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

More details

The best way to get from Milan to Bari is to fly which takes 3 h 23 min and costs . Alternatively, you can train, which costs and takes 7 h 46 min, you could also bus, which costs and takes 13 h 10 min.

Mode details

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

Search flights

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

More details

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

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

Alitalia flies from Milan to Bari hourly. Alternatively, Trenitalia Frecce operates a train from Milan to Bari every 4 hours. Tickets cost $95 - $140 and the journey takes 7 h 46 min.

Airlines
Alitalia
Website
alitalia.com
Flights from Milan Linate to Bari
Ave. Duration
1 h 25 min
When
Every day
Estimated price
$55 - $500
Flights from Milan Linate to Bari via Rome
Ave. Duration
3 h 12 min
When
Every day
Estimated price
$55 - $500
Flights from Milan Malpensa to Bari via Rome
Ave. Duration
3 h 38 min
When
Every day
Estimated price
$230 - $1,500
Flights from Milan Linate to Brindisi
Ave. Duration
1 h 35 min
When
Every day
Estimated price
$75 - $550
Flights from Milan Linate to Brindisi via Rome
Ave. Duration
3 h 18 min
When
Every day
Estimated price
$75 - $550
Flights from Verona to Bari via Rome
Ave. Duration
3 h 16 min
When
Every day
Estimated price
$110 - $700
Flights from Turin to Bari via Rome
Ave. Duration
3 h 30 min
When
Every day
Estimated price
$75 - $410
Ryanair
Website
ryanair.com
Flights from Milan Bergamo to Bari
Ave. Duration
1 h 30 min
When
Every day
Estimated price
$35 - $370
Flights from Turin to Bari
Ave. Duration
1 h 35 min
When
Every day
Estimated price
$60 - $490
easyJet
Website
easyjet.com
Flights from Milan Malpensa to Bari
Ave. Duration
1 h 30 min
When
Every day
Estimated price
$55 - $390
Volotea
Website
volotea.com
Flights from Verona to Bari
Ave. Duration
1 h 20 min
When
Every day
Estimated price
$45 - $700
Lufthansa
Website
lufthansa.com
Flights from Verona to Bari via Munich
Ave. Duration
3 h 30 min
When
Every day
Estimated price
$190 - $1,400
Flights from Turin to Bari via Munich
Ave. Duration
4 h
When
Every day
Estimated price
$420 - $6,500
Air Dolomiti
Website
airdolomiti.it
Flights from Verona to Bari via Munich
Ave. Duration
3 h 30 min
When
Every day
Estimated price
$190 - $1,400
Blue Air
Website
blueairweb.com
Flights from Turin to Bari
Ave. Duration
1 h 35 min
When
Monday, Wednesday, Friday and Saturday
Estimated price
$75 - $390
Train operators
Trenitalia

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 Brindisi to Bari Centrale
Ave. Duration
1 h 15 min
Frequency
Hourly
Estimated price
$8 - $19
Website
orario.trenitalia.com
1st Class
$15 - $19
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 Milano Centrale to Verona Porta Nuova
Ave. Duration
1 h 13 min
Frequency
Hourly
Estimated price
$21 - $35
Website
orario.trenitalia.com
Train from Milano Centrale to Bari Centrale
Ave. Duration
7 h 46 min
Frequency
Every 4 hours
Estimated price
$95 - $140
Website
orario.trenitalia.com
Train from Milano Rogoredo to Reggio Emilia Av
Ave. Duration
34 min
Frequency
Every 4 hours
Estimated price
$21 - $30
Website
orario.trenitalia.com
Train from Reggio Emilia Av to Bari Centrale
Ave. Duration
5 h 58 min
Frequency
6 times a week
Estimated price
$80 - $120
Website
orario.trenitalia.com
ItaloTreno
Phone
+39 060708
Website
italotreno.it
Train from Milano Centrale Station to Verona Porta Nuova Station
Ave. Duration
1 h 13 min
Frequency
Every 4 hours
Estimated price
$21 - $29
Website
italotreno.it
Train from Milano Centrale Station to Torino Porta Susa Station
Ave. Duration
50 min
Frequency
Every 2 hours
Estimated price
$20 - $29
Website
italotreno.it
Train from Milano Rogoredo Station to Reggio Emilia AV Mediopadana Station
Ave. Duration
34 min
Frequency
Hourly
Estimated price
$20 - $29
Website
italotreno.it
Trenitalia Eurocity

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 Milano Centrale to Verona Porta Nuova
Ave. Duration
1 h 22 min
Frequency
Once daily
Estimated price
$30 - $45
Website
orario.trenitalia.com
Bus operators
Marino Autolinee
Phone
+39 080 3112335
Email
info@marinobus.it
Website
marinobus.it
Bus from Milano Rogoredo to Bari Largo Sorrentino
Ave. Duration
12 h
Frequency
Once daily
Estimated price
$70 - $85
Schedules at
marinobus.it
Book at
booking.marinobus.it
Baltour
Phone
+39 0861 1991900
Email
info@baltour.it
Website
baltour.it
Bus from Milano - Autostazione San Donato to Bari - L.Go Sorrentino Dietro Staz. Fs
Ave. Duration
12 h 40 min
Frequency
Twice daily
Estimated price
$40 - $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 Milan to Bari
Ave. Duration
10 h 7 min
Frequency
5 times a day
Estimated price
$56
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.

More Questions & Answers

Milan to Bari train services, operated by Trenitalia Frecce, arrive at Bari Centrale station.

More details

Yes, the driving distance between Milan to Bari is 882 km. It takes approximately 7 h 54 min to drive from Milan to Bari.

Get driving directions

Alitalia offers flights from Milan Linate Airport to Bari Airport.

Search flights

Book your Milan to Bari train tickets online with Rome2rio.

Search and book

There are 824+ hotels available in Bari. Prices start at $52 USD per night.

More details

Check out Blablacar's carpooling service for rideshare options between Milan and Bari. A great option if you don't have a driver's licence or want to avoid public transport.

Read Rome2rio's guide to Blablacar

The best way to get from Milan to Milan Linate Airport is to line 73 bus which takes 20 min and costs .

More details