• Our partners include:

  • RailEurope
  • Deutsche Bahn
  • Trenitalia
  • SNCF
  • Flixbus
  • RENFE
  • Ouibus
  • BlaBlaCar
  • Booking.com
  • Skyscanner

There are 11 ways to get from Apulia 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  •  3h 1m

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

$57 - $278

Cheapest option

Bus Marino Autolinee  •  10h 22m

  1. Take the bus from Bari to Milano S. Donato MarinoBus / ...

$33 - $83

9 alternative options

Fly Brindisi to Milan Linate  •  3h 9m

  1. Fly from Brindisi (BDS) to Milan Linate (LIN) BDS - LIN

$62 - $283

Fly Bari to Milan Malpensa  •  3h 32m

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

$63 - $242

Fly Brindisi to Milan Malpensa  •  3h 40m

  1. Fly from Brindisi (BDS) to Milan Malpensa (MXP) BDS - MXP

$68 - $357

Fly Bari to Milan Bergamo  •  3h 55m

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

$41 - $287

Fly Brindisi to Milan Bergamo  •  3h 58m

  1. Fly from Brindisi (BDS) to Milan Bergamo (BGY) BDS - BGY

$36 - $282

Train  •  6h 45m

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

$95 - $140

Bus Baltour  •  14h 16m

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

$45 - $63

Rideshare  •  10h 3m

  1. Take the rideshare from Bari to Milan 550.4 miles

$56

Drive  •  7h 52m

  1. Drive from Bari to Milan 551.1 miles

$130 - $200

Questions & Answers

The cheapest way to get from Apulia to Milan is to bus which costs 28€ - 75€ and takes 10h 22m.

More details

The quickest way to get from Apulia to Milan is to fly which costs 45€ - 250€ and takes 3h 1m.

More details

No, there is no direct bus from Apulia 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 14h 16m.

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 6h 45m.

More details

The distance between Apulia and Milan is 781 km. The road distance is 881.8 km.

Get driving directions

The best way to get from Apulia to Milan without a car is to train which takes 6h 45m and costs 80€ - 120€.

More details

It takes approximately 3h 1m to get from Apulia to Milan, including transfers.

More details

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

More details

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

More details

The best way to get from Apulia to Milan is to fly which takes 3h 1m and costs 45€ - 250€. Alternatively, you can train, which costs 80€ - 120€ and takes 6h 45m, you could also bus, which costs 28€ - 75€ and takes 10h 22m.

Mode details

Map of how to get from Apulia to Milan.
Launch map view
  • Distance: 488.1 miles
  • Duration: 3h 1m

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

Alitalia flies from Bari to Milan every 2 hours. Alternatively, Trenitalia Frecce operates a train from Bari to Milan every 4 hours. Tickets cost $95 - $140 and the journey takes 6h 45m.

Airlines
Alitalia
Website
alitalia.com
Flights from Bari to Milan Linate
Ave. Duration
1h 25m
When
Every day
Estimated price
$55 - $500
Flights from Bari to Milan Linate via Rome
Ave. Duration
3h 21m
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
$55 - $500
Flights from Brindisi to Milan Linate
Ave. Duration
1h 35m
When
Every day
Estimated price
$75 - $550
Flights from Brindisi to Milan Linate via Rome
Ave. Duration
3h 33m
When
Every day
Estimated price
$75 - $550
Flights from Bari to Milan Malpensa
Ave. Duration
1h 25m
When
Monday, Tuesday, Wednesday, Friday and Sunday
Estimated price
$230 - $1,500
Flights from Bari to Milan Malpensa via Rome
Ave. Duration
3h 23m
When
Every day
Estimated price
$230 - $1,500
Flights from Brindisi to Milan Malpensa
Ave. Duration
1h 35m
When
Every day
Estimated price
$290 - $1,800
Flights from Brindisi to Milan Malpensa via Rome
Ave. Duration
3h 33m
When
Every day
Estimated price
$290 - $1,800
Flights from Bari to Milan Bergamo via Rome
Ave. Duration
3h 35m
When
Every day
Estimated price
$85 - $470
Flights from Brindisi to Milan Bergamo via Rome
Ave. Duration
3h 40m
When
Every day
Estimated price
$95 - $550
Ryanair
Website
ryanair.com
Flights from Bari to Milan Bergamo
Ave. Duration
1h 37m
When
Every day
Estimated price
$35 - $370
Flights from Bari to Milan Bergamo via Budapest
Ave. Duration
4h 5m
When
Friday
Estimated price
$35 - $370
Flights from Brindisi to Milan Bergamo
Ave. Duration
1h 40m
When
Every day
Estimated price
$40 - $460
easyJet
Website
easyjet.com
Flights from Bari to Milan Malpensa
Ave. Duration
1h 33m
When
Every day
Estimated price
$55 - $390
Flights from Brindisi to Milan Malpensa
Ave. Duration
1h 40m
When
Monday, Wednesday, Thursday, Friday, Saturday and Sunday
Estimated price
$80 - $650
Neos
Website
neosair.it
Flights from Brindisi to Milan Malpensa
Ave. Duration
1h 45m
When
Sunday
Estimated price
$110 - $650
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 Milano Centrale
Ave. Duration
6h 45m
Frequency
Every 4 hours
Estimated price
$95 - $140
Website
orario.trenitalia.com
Bus operators
Marino Autolinee
Phone
+39 080 3112335
Email
info@marinobus.it
Website
marinobus.it
Bus from Bari to Milano S. Donato
Ave. Duration
10h 5m
Frequency
3 times a day
Estimated price
$62
Website
Marino Autolinee
FlixBus

One of Europe’s leading bus companies, Flixbus serves over 1400 destinations, in 26 countries including Germany, France, Italy, Austria, the Netherlands, Croatia, Spain, and across Scandinavia and central and eastern Europe. Founded in 2012, Flixbus’ extensive network connects cities with approximately 200,000 trips, with buses often departing every 30 minutes. One of the most affordable ways to get around Europe (and expanding soon into the US), a Flixbus journey is cost-effective, well-connected, comfortable and safe.

Rome2rio's guide to FlixBus
Contact Details
Phone
+49 1807 123 99 123
Email
info@flixbus.de
Website
flixbus.de
Bus from Bari to Milan, Milan
Ave. Duration
11h 50m
Frequency
Twice daily
Estimated price
$45 - $85
Website
flixbus.co.uk
Ouibus

As the bus subsidiary of French railway SNCF, Ouibus offers comfortable, eco-friendly coaches serving 35 French cities and 11 European cities at affordable fares. Ouibus journeys are safe and comfortable, with the four-star coaches offering power outlets, restrooms and WiFi. All Ouibus stations are located close to town centres for easy access to public transport. Getting on one of the 130 daily journeys is easy - electronic travel documents include your ticket and a personalised mini-guide with handy information.

Contact Details
Phone
0890715298
Website
ouibus.com
Bus from Bari to Milan San Donato
Ave. Duration
11h 50m
Frequency
Once daily
Estimated price
$30 - $45
Website
Ouibus
Baltour
Phone
+39 0861 1991900
Email
info@baltour.it
Website
flixbus.it
Bus from Bari - L.Go Sorrentino Dietro Staz. Fs to Milano - Autostazione San Donato
Ave. Duration
13h 25m
Frequency
3 times a day
Estimated price
$40 - $65
Website
Baltour
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
10h 3m
Frequency
4 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

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

Search flights

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

More details

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

More details

Yes, the driving distance between Apulia to Milan is 882 km. It takes approximately 7h 52m to drive from Apulia to Milan.

Get driving directions

Alitalia offers flights from Bari Airport to Milan Linate Airport.

Search flights

Book your Apulia to Milan train tickets online with Rome2rio.

Search and book

There are 2115+ hotels available in Milan. Prices start at $57 USD per night.

More details

Check out Blablacar's carpooling service for rideshare options between Apulia and Milan. 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 Apulia to Bari Airport is to train which takes 12m and costs 5€.

More details