There are 12 ways to get from Milan to Apulia by plane, train (Trenitalia), bus, night 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 Milan Linate Airport to Bari Karol Wojtyła Airport
best- Fly from Milan Linate Airport (LIN) to Bari Karol Wojtyła Airport (BRI)LIN - BRI
2h 51m€87–223Bus
cheapest- Take the bus from Milano, San Donato M3 to BariN436 / ...
10h 45m€24–95Train
- Take the train from Milano Centrale to Bari CentraleFr
7h 37m€40–150Night train
- Take the night train from Milano Centrale to Bari CentraleIni
15h 5m€65–100Fly Milano Malpensa Airport to Bari Karol Wojtyła Airport
- Fly from Milano Malpensa Airport (MXP) to Bari Karol Wojtyła Airport (BRI)MXP - BRI
3h 21m€70–196Fly Milan Linate Airport to Brindisi Airport
- Fly from Milan Linate Airport (LIN) to Brindisi Airport (BDS)LIN - BDS
3h 16m€73–203Fly Milan Linate Airport to Foggia Gino Lisa Airport
- Fly from Milan Linate Airport (LIN) to Foggia Gino Lisa Airport (FOG)LIN - FOG
3h 7m€103–211Bus to Il Caravaggio International Airport, fly to Bari Karol Wojtyła Airport
- Take the bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Fly from Il Caravaggio International Airport (BGY) to Bari Karol Wojtyła Airport (BRI)BGY - BRI
3h 39m€69–278Fly Milano Malpensa Airport to Foggia Gino Lisa Airport
- Fly from Milano Malpensa Airport (MXP) to Foggia Gino Lisa Airport (FOG)MXP - FOG
3h 37m€76–254Bus via Duomo M3
- Take the bus from Milan to Bari FS Park - Via CapruzziItabus
12h 29m€28–152Drive 880 km
- Drive from Milan to Bari880 km
7h 47m€138–199Rideshare
- Take the rideshare from Milan to Bari879.7 km
10h 7m€49
Milan to Apulia by train
Questions & Answers
The cheapest way to get from Milan to Apulia is to rideshare which costs €49 and takes 10h 7m.
The fastest way to get from Milan to Apulia is to fly which takes 2h 51m and costs €85 - €230.
Yes, there is a direct bus departing from Milano, San Donato M3 and arriving at Bari. Services depart once daily, and operate every day. The journey takes approximately 10h 45m.
Yes, there is a direct train departing from Milano Centrale and arriving at Bari Centrale. Services depart hourly, and operate every day. The journey takes approximately 7h 37m.
The distance between Milan and Apulia is 791 km. The road distance is 880 km.
The best way to get from Milan to Apulia without a car is to train which takes 7h 37m and costs €40 - €150.
It takes approximately 2h 51m to get from Milan to Apulia, including transfers.
Milan to Apulia bus services, operated by FlixBus, depart from Milano, San Donato M3 station.
Milan to Apulia train services, operated by Trenitalia Frecce, depart from Milano Centrale station.
The best way to get from Milan to Apulia is to fly which takes 2h 51m and costs €85 - €230. Alternatively, you can train, which costs €40 - €150 and takes 7h 37m, you could also bus, which costs €24 - €95 and takes 10h 45m.
What companies run services between Milan, Italy and Apulia, Italy?
ITA Airways flies from Milan Linate Airport (LIN) to Bari Karol Wojtyła Airport (BRI) 5 times a day. Alternatively, Trenitalia Frecce operates a train from Milano Centrale to Bari Centrale every 3 hours. Tickets cost €70–150 and the journey takes 7h 37m. Two other operators also service this route.
- Website
- ryanair.com
Flights from Milano Malpensa Airport to Bari Karol Wojtyła Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €35–140
Flights from Il Caravaggio International Airport to Bari Karol Wojtyła Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €55–200
- Website
- ita-airways.com
Flights from Milan Linate Airport to Bari Karol Wojtyła Airport
- Ave. Duration
- 1h 26m
- When
- Every day
- Estimated price
- €50–150
Flights from Milan Linate Airport to Brindisi Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €65–190
- Website
- easyjet.com
Flights from Milano Malpensa Airport to Bari Karol Wojtyła Airport
- Ave. Duration
- 1h 38m
- When
- Every day
- Estimated price
- €24–130
- Website
- bristowgroup.com
Flights from Milan Linate Airport to Foggia Gino Lisa Airport
- Ave. Duration
- 1h 25m
- When
- Every day
- Estimated price
- €100–200
- Website
- aeroitalia.com
Flights from Milano Malpensa Airport to Foggia Gino Lisa Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €60–440
- Website
- flexflight.dk
Flights from Milano Malpensa Airport to Foggia Gino Lisa Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €60–440
- Website
- neosair.it
Flights from Milano Malpensa Airport to Bari Karol Wojtyła Airport
- Ave. Duration
- 1h 30m
- When
- Monday
- Estimated price
- €100–340
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Centrale to Bari Centrale
- Ave. Duration
- 7h 37m
- Frequency
- Every 3 hours
- Estimated price
- €70–150
- Schedules at
- trenitalia.com
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Centrale to Bari Centrale
- Ave. Duration
- 9h 40m
- Frequency
- 4 times a day
- Estimated price
- €40–80
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Milano Centrale to Bari Centrale
- Ave. Duration
- 8h 27m
- Frequency
- Once daily
- Estimated price
- €60–140
- Website
- https://www.italotreno.it/en
- Phone
- 06 3000
- Website
- trenitalia.com
Night train from Milano Centrale to Bari Centrale
- Ave. Duration
- 15h 5m
- Frequency
- 3 times a day
- Estimated price
- €65–100
- Website
- https://www.trenitalia.com/en.html
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Milano, San Donato M3 to Bari
- Ave. Duration
- 10h 45m
- Frequency
- Once daily
- Estimated price
- €24–95
- Website
- https://www.flixbus.co.uk
- info@flibco.com
- Website
- flibco.com
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €10
- Website
- https://www.flibco.com/en
- Phone
- +39 02 3008 9000
- mail@autostradale.it
- Website
- autostradale.it
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 1h
- Frequency
- Every 30 minutes
- Estimated price
- €4–17
- Website
- https://autostradale.it/?lang=en-GB
- Standard Rate
- €13–17
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Milan to Bari FS Park - Via Capruzzi
- Ave. Duration
- 11h 15m
- Frequency
- Once daily
- Estimated price
- €26–150
- Website
- https://www.itabus.it/en/home
- Phone
- +3 318 576 2228
- Website
- blablacar.com
Rideshare from Milan to Bari
- Ave. Duration
- 10h 7m
- Frequency
- 5 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
Milan to Apulia bus services, operated by FlixBus, arrive at Bari station.
Milan to Apulia train services, operated by Trenitalia Frecce, arrive at Bari Centrale station.
Yes, the driving distance between Milan to Apulia is 880 km. It takes approximately 7h 47m to drive from Milan to Apulia.
Book your Milan to Apulia train tickets online with Omio.
Book your Milan to Apulia bus tickets online with Omio and FlixBus.
There are 1113+ hotels available in Apulia.
Check out Blablacar's carpooling service for rideshare options between Milan and Apulia. A great option if you don't have a driver's licence or want to avoid public transport.































