There are 13 ways to get from Apulia to Milan by plane, train (Trenitalia), bus, night train, train, car, or rideshare
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly Bari Karol Wojtyła Airport to Milan Linate Airport
best- Fly from Bari Karol Wojtyła Airport (BRI) to Milan Linate Airport (LIN)BRI - LIN
1h 53m€81–223Bus
cheapest- Take the bus from Bari to Milano, San Donato M3N436 / ...
10h 50m€20–75Train
- Take the train from Bari Centrale to Milano CentraleFr
7h 40m€40–160Night train
- Take the night train from Bari Centrale to Milano CentraleIni
9h 33m€65–95Fly Bari Karol Wojtyła Airport to Il Caravaggio International Airport
- Fly from Bari Karol Wojtyła Airport (BRI) to Il Caravaggio International Airport (BGY)BRI - BGY
2h 38m€70–235Fly Bari Karol Wojtyła Airport to Milano Malpensa Airport, train
- Fly from Bari Karol Wojtyła Airport (BRI) to Milano Malpensa Airport (MXP)BRI - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
2h 46m€59–185Fly Foggia Gino Lisa Airport to Milan Linate Airport
- Fly from Foggia Gino Lisa Airport (FOG) to Milan Linate Airport (LIN)FOG - LIN
2h 42m€123–391Fly Brindisi Airport to Milan Linate Airport
- Fly from Brindisi Airport (BDS) to Milan Linate Airport (LIN)BDS - LIN
3h 32m€62–194Fly Foggia Gino Lisa Airport to Milano Malpensa Airport, train
- Fly from Foggia Gino Lisa Airport (FOG) to Milano Malpensa Airport (MXP)FOG - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
3h 35m€71–193Train via Bologna
- Take the train from Bari Centrale to Bologna CentraleFr
- Take the train from Bologna Centrale to Milan Rogoredo9948 / ...
7h 45m€50–153Bus via Duomo M3
- Take the bus from Bari FS Park - Via Capruzzi to MilanItabus
11h 27m€28–113Drive 879.1 km
- Drive from Bari to Milan879.1 km
7h 49m€136–197Rideshare
- Take the rideshare from Bari to Milan878.1 km
10h 3m€49
Apulia to Milan by train
Questions & Answers
The cheapest way to get from Apulia to Milan is to bus which costs €20 - €75 and takes 10h 50m.
The fastest way to get from Apulia to Milan is to fly which takes 1h 53m and costs €80 - €230.
Yes, there is a direct bus departing from Bari and arriving at Milano, San Donato M3. Services depart twice daily, and operate every day. The journey takes approximately 10h 50m.
Yes, there is a direct train departing from Bari Centrale and arriving at Milano Centrale. Services depart hourly, and operate every day. The journey takes approximately 7h 40m.
The distance between Apulia and Milan is 791 km. The road distance is 879.1 km.
The best way to get from Apulia to Milan without a car is to train which takes 7h 40m and costs €40 - €160.
It takes approximately 1h 53m to get from Apulia to Milan, including transfers.
Apulia to Milan bus services, operated by FlixBus, depart from Bari station.
Apulia to Milan train services, operated by Trenitalia Frecce, depart from Bari Centrale station.
The best way to get from Apulia to Milan is to fly which takes 1h 53m and costs €80 - €230. Alternatively, you can train, which costs €40 - €160 and takes 7h 40m, you could also bus, which costs €20 - €75 and takes 10h 50m.
What companies run services between Apulia, Italy and Milan, Italy?
ITA Airways flies from Bari Karol Wojtyła Airport (BRI) to Milan Linate Airport (LIN) every 4 hours. Alternatively, Trenitalia Frecce operates a train from Bari Centrale to Milano Centrale every 3 hours. Tickets cost €65–150 and the journey takes 7h 40m. Two other operators also service this route.
- Website
- ryanair.com
Flights from Bari Karol Wojtyła Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €50–150
Flights from Bari Karol Wojtyła Airport to Il Caravaggio International Airport via Tirana
- Ave. Duration
- 3h 40m
- When
- Sunday
- Estimated price
- €50–150
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 40m
- When
- Monday, Tuesday, Wednesday, Friday, Saturday, and Sunday
- Estimated price
- €40–140
- Website
- ita-airways.com
Flights from Bari Karol Wojtyła Airport to Milan Linate Airport
- Ave. Duration
- 1h 29m
- When
- Every day
- Estimated price
- €45–150
Flights from Bari Karol Wojtyła Airport to Milan Linate Airport via Rome
- Ave. Duration
- 3h 38m
- When
- Every day
- Estimated price
- €45–150
Flights from Brindisi Airport to Milan Linate Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €60–160
Flights from Brindisi Airport to Milan Linate Airport via Rome
- Ave. Duration
- 3h 40m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €60–160
- Website
- easyjet.com
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 38m
- When
- Every day
- Estimated price
- €24–140
- Website
- bristowgroup.com
Flights from Foggia Gino Lisa Airport to Milan Linate Airport
- Ave. Duration
- 1h 25m
- When
- Every day
- Estimated price
- €110–190
- Website
- aeroitalia.com
Flights from Foggia Gino Lisa Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €65–650
- Website
- flexflight.dk
Flights from Foggia Gino Lisa Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €65–650
- Website
- neosair.it
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 30m
- When
- Monday
- Estimated price
- €160–390
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Bari Centrale to Milano Centrale
- Ave. Duration
- 7h 40m
- Frequency
- Every 3 hours
- Estimated price
- €65–150
- Schedules at
- trenitalia.com
Train from Bari Centrale to Bologna Centrale
- Ave. Duration
- 5h 45m
- Frequency
- Hourly
- Estimated price
- €50–95
- Schedules at
- trenitalia.com
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Bari Centrale to Milano Centrale
- Ave. Duration
- 9h 44m
- Frequency
- 5 times a day
- Estimated price
- €40–110
- Website
- https://www.trenitalia.com/en.html
Train from Bari Centrale to Bologna Centrale
- Ave. Duration
- 6h 54m
- Frequency
- Every 4 hours
- Estimated price
- €27–65
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Bari Centrale to Milano Centrale
- Ave. Duration
- 8h 30m
- Frequency
- Once daily
- Estimated price
- €55–160
- Website
- https://www.italotreno.it/en
Train from Bologna Centrale to Milan Rogoredo
- Ave. Duration
- 1h
- Frequency
- Every 3 hours
- Estimated price
- €22–60
- Website
- https://www.italotreno.it/en
- Phone
- 06 3000
- Website
- trenitalia.com
Night train from Bari Centrale to Milano Centrale
- Ave. Duration
- 9h 33m
- Frequency
- 3 times a day
- Estimated price
- €65–95
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 42 min
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +39 02-72494949
- Website
- malpensaexpress.it
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 42 min
- Frequency
- Hourly
- Estimated price
- €15
- Website
- https://www.malpensaexpress.it/en/
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Bari to Milano, San Donato M3
- Ave. Duration
- 10h 50m
- Frequency
- Twice daily
- Estimated price
- €20–75
- Website
- https://www.flixbus.co.uk
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Bari FS Park - Via Capruzzi to Milan
- Ave. Duration
- 11h 10m
- Frequency
- Once daily
- Estimated price
- €27–110
- Website
- https://www.itabus.it/en/home
- Phone
- +3 318 576 2228
- Website
- blablacar.com
Rideshare from Bari to Milan
- Ave. Duration
- 10h 3m
- Frequency
- 4 times a day
- Estimated price
- €49
- Schedules at
- blablacar.com
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.
Related travel guides
Italy Travel Guides
Read the travel guide
Getting to Milan from the airport
Read the travel guide
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Apulia to Milan bus services, operated by FlixBus, arrive at Milano, San Donato M3 station.
Apulia to Milan train services, operated by Trenitalia Frecce, arrive at Milano Centrale station.
Yes, the driving distance between Apulia to Milan is 879 km. It takes approximately 7h 49m to drive from Apulia to Milan.
Book your Apulia to Milan train tickets online with Omio.
Book your Apulia to Milan bus tickets online with Omio and FlixBus.
There are 13482+ hotels available in Milan.
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.




























