- Must visit
Pinacoteca di Brera
One of Milan’s leading art museums, with Italian masterpieces from the Middle Ages to the 20th century in a historic palace.
Flights from Bari to Milan depart on average 21 times per day, taking around 2h 54m. Cheap flight tickets for this journey start at £16 but you can travel from only £11 by coach.
There are 10 flights per day. The earliest flight runs at 00:01, the last at 23:55. The fastest flight covers the 786 km distance in 1h 24m. July is the cheapest month to fly.
Distance 786 km |
Average flight duration 2h 54m |
Cheapest ticket price £16 |
Flights per day 21 |
Direct flights 10 |
Fastest flight 1h 24m |
First flight 0:01 |
Last flight 23:55 |
Cheapest Month Jul |
Cheapest Day Sat |
High Season Jul - Sept |
Low Season Jan - Mar |
Busiest Day Thu |
Least Busy Day Sun |
Best time to book 77 days |
Cheapest price
£201
Average price
£345
Fastest journey
1 h 25 m
Average duration
1 h 27 m
Flights per day
28
Distance
786 km
The best way to find a cheap flight ticket from Bari to Milan is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Bari to Milan will cost around £345 if you buy it on the day, but you can find cheap flight tickets today for only £201.
Of the 28 flights that leave Bari for Milan every day 9 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct flights cover the 786 km distance in an average of 1 h 27 m but if you time it right, some flights will get you there in just 1 h 25 m .
The slowest flights will take 1 h 30 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.
FR 4131
FR 2771
AZ1606 · AZ2130
AZ1616 · AZ2056
FR 3654
AZ1648
AZ1672
AZ1650
FR 4668
FR 4131Omio recommends booking the coach as it is the most popular option from Bari to Milan among Omio's users. If you are prioritising price take the coach with prices starting from £11. For those with little time consider booking a flight which can get you there in 2h 54m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.2 - 0.7kg. The ticket price range depends on the travel mode: a coach costs an average of £11, and a flight costs an average of £16.
Distance: 786 km
| Flight | Most popular Coach | Train |
|---|---|---|
£71 Average Price | £23 Average Price Cheapest | £62 Average Price |
4h 54m Average total duration Fastest 2h 54m Onboard + 2h 0m Additional time* | 10h 53m Average total duration 10h 23m Onboard + 30m Additional time* | 9h 11m Average total duration 8h 41m Onboard + 30m Additional time* |
- CO2 emissions | 0.8 - 2.0kg CO2 emissions | 0.2 - 0.7kg CO2 emissions Lowest |
![]() Most popular airline | ![]() Most popular bus company | ![]() Most popular train company |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
The table below shows live departures for Bari to Milan flights for today, Friday 28 August. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
FRECCIAROSSA 8306+ DE4186 · DE4359+ Leonardo express 4704 | 8:40 Bari Centrale | 12h40 | 21:20 Milan Malpensa Airport | 3 changes | |
FRECCIAROSSA 8306+ AZ1840 · AZ1847+ Leonardo express 4704 | 8:40 Bari Centrale | 12h55 | 21:35 Milan Linate Airport | 3 changes | |
FRECCIAROSSA 8306+ KM615 · KM624+ Leonardo express 4704 | 8:40 Bari Centrale | 30h05 | 14:45 Milan Linate Airport | 3 changes | |
FR 3654 | 9:05 Bari Palese Airport | 1h30 | 10:35 Milan Bergamo Orio al Serio Airport | 0 changesdirect | |
AZ1648 | 11:55 Bari Palese Airport | 1h25 | 13:20 Milan Linate Airport | 0 changesdirect | |
FR 4131 | 12:35 Bari Palese Airport | 1h30 | 14:05 Milan Bergamo Orio al Serio Airport | 0 changesdirect | |
FR 277 | 12:40 Bari Palese Airport | 1h40 | 14:20 Milan Malpensa Airport | 0 changesdirect | |
LG536 · LG6997 | 15:50 Bari Palese Airport | 4h40 | 20:30 Milan Malpensa Airport | 1 change | |
FR 6183 | 20:40 Bari Palese Airport | 1h40 | 22:20 Milan Malpensa Airport | 0 changesdirect | |
FR 4659 | 23:10 Bari Palese Airport | 1h30 | 0:40 Milan Bergamo Orio al Serio Airport | 0 changesdirect | |
FRECCIAROSSA 8348+ AZ2092+ Leonardo express 4606 | 5:50 Bari Centrale | 12h20 | 18:10 Milan Linate Airport | 2 changes | |
FRECCIAROSSA 8348+ AZ2056+ Leonardo express 4606 | 5:50 Bari Centrale | 14h25 | 20:15 Milan Linate Airport | 2 changes | |
FRECCIAROSSA 8348+ DE4186 · DE4359+ Leonardo express 4606 | 5:50 Bari Centrale | 15h30 | 21:20 Milan Malpensa Airport | 3 changes | |
This is the last flight of the day. | |||||
Find all the dates and times for this journey
Compare train, coach and flight prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
Discover the best of Milan — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Milan trip today.
One of Milan’s leading art museums, with Italian masterpieces from the Middle Ages to the 20th century in a historic palace.
The museum visit centres on Leonardo’s Last Supper, one of the city’s most sought-after cultural experiences.
A science and technology museum with Leonardo galleries, transport exhibits and hands-on displays in a former monastery.
Milan’s central square is the city’s main meeting point, framed by the cathedral, museums and lively pedestrian spaces.
This redeveloped canal district is popular for waterside walks, old railings, independent shops and a lively Milan atmosphere.
A refined district of elegant streets, Liberty villas and designer shops, ideal for architecture lovers and quieter walks.
Saffron risotto cooked to a creamy texture with butter and cheese. A signature Milanese dish linked to Lombardy’s love of rich, elegant rice dishes.
Breaded veal cutlet fried in butter until crisp. One of Milan’s best-known classics, traditionally served bone-in and prized for its simple, rich flavour.
Slow-braised veal shanks, often with vegetables and wine, usually served with risotto. A historic Lombard comfort dish known for tender meat and marrow.
Refined two-Michelin-star dining by Carlo Cracco in an elegant setting inside Galleria Vittorio Emanuele II. Known for modern Italian tasting menus.
Historic Milanese restaurant famed for ossobuco and Risotto alla Milanese. Formal, old-school atmosphere with strong ties to local culinary tradition.
Traditional trattoria celebrated for classic Milanese dishes including cotoletta and cassoeula. Warm, established venue with a loyal local following.
Moderate for Italy: hotels and dining run higher than many cities, but public transport is affordable and budget eats are easy to find.
Service is often included or modest. Round up or leave €1-2 in cafés, 5-10% in restaurants for good service, and round up taxi fares.
Official public transport app
Malpensa Aeroporto T1 -> Milano Centrale
Milan is one of Europe's most stylish cities, a global fashion center where exclusive designer brand stores and some of Italy's smartest shopping arcades lie close to the soaring towers of the medieval cathedral. Business travelers and vacationers from Italy's southern Adriatic coast can take frequent daily direct flights from Bari to Milan with the national carrier and a choice of budget airlines. Flights take around one hour and 30 minutes and include morning, afternoon and evening departures. Alternative connections on the domestic flight to Milan involve one change en route, in Rome.
Italian national airline Alitalia provides daily direct flights from Bari to Milan Malpensa Airport, with some services operated by its affiliate Alitalia Cityliner. Budget airline easyJet also has direct daily flights to Milan Malpensa from Bari. Irish low-cost operator Ryanair provides daily flights to both Malpensa and Milan Bergamo Orio al Serio airports. Additional indirect flights involve Alitalia Cityliner connections via Rome Fiumicino Airport.
The fastest services on the 786 kilometer route north west to Milan are some Alitalia direct flights taking one hour and 25 minutes to reach the northern city. Most direct flights on this route take five to ten minutes longer to complete the trip. The fastest indirect connection with Alitalia via Rome Fiumicino takes three hours and ten minutes total journey time from Bari.
The Alitalia national carrier's schedule offers six daily direct flights from Bari to Milan Malpensa on weekdays, four direct services on Saturdays and three on Sundays. Departure times include morning, afternoon and evening services. Budget airline easyJet has two daily direct flights from Bari to Milan Malpensa five days a week and three direct flights on Fridays and Sundays. Low-cost operator Ryanair provides five daily direct flights from Tuesday to Thursday, four on Mondays and Fridays, three on Saturdays and two on Sundays, with the majority of departures to Milan Bergamo Orio al Serio Airport. There are also around 15 daily indirect connections with a change at Rome Fiumicino, with departure times from early morning to evening.
Departure Airport: Bari Airport is located in Palese, eight kilometers north west of Bari city center, with public transport links provided by AMTAB city buses taking 40 minutes or Tempesta express shuttles taking 20 minutes. Facilities at the small passenger terminal include long and short stay parking lots, cafe-bars, news vendors, gift stores, ATMs, and business lounges.
Arrival Airport: Milan Malpensa Airport lies about 50 kilometers north west of central Milan, with public transport transfers available on the Malpensa Express train taking about one hour. Milan Bergamo Orio al Serio Airport is located 45 kilometers north east of Milan, served by express buses taking about 80 minutes to reach the city. Both airports have car rental agencies, fashion boutiques, specialty wine and food stores, international restaurants, coffee shops, free WiFi, business lounges, and taxi stands.
Find answers to the most common questions about traveling from Bari to Milan by flight. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest flight, the cheapest option, or tips for making the most of your visit at Milan, this guide helps you travel smarter and with confidence.

Most Bari to Milan flights use the Bari Palese Airport to Milan Linate Airport airport pair, with some services landing at Milan Malpensa Airport. Use this guide to compare Bari and Milan airports on this route, check city-centre transport, alongside checking practicalities like airport facilities and services.
Bari Palese Airport is 7 km from Bari city centre. Public transport options include:
Bari Palese Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Lounge and Lost and Found Office.
Free Wi-Fi available throughout the airport. ATMs are located in the arrivals and departures areas.
Lost and found is available at the station.
Available at Bari Palese Airport: Parking, Taxis, WC.
Accessibility facilities are available at Bari Palese Airport: Elevators, ramps.
Milan Linate Airport is 6 km from Milan city centre. Public transport options include:
Milan Linate Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge and Lost and Found Office.
Free Wi-Fi available throughout the airport. ATMs are located in the arrivals and departures areas.
Lost and found is available at the station.
Available at Milan Linate Airport: Parking, Taxis, WC.
Accessibility facilities are available at Milan Linate Airport: Ramps, assistance.
Milan Malpensa Airport is 2 km from Milan city centre. Public transport options include:
Milan Malpensa Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge and Lost and Found Office.
Free Wi-Fi available throughout the airport. ATMs are located in both terminals, near check-inas and gates.
Lost and found is available at the station.
Available at Milan Malpensa Airport: Parking, Taxis, WC.
Accessibility facilities are available at Milan Malpensa Airport: Elevators, ramps.
Milan Bergamo Orio al Serio Airport is 1 km from Milan city centre. Public transport options include:
Milan Bergamo Orio al Serio Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge and Lost and Found Office.
Free Wi-Fi available throughout the airport. ATMs are located in the arrivals and departures areas.
Lost and found is available at the station.
Available at Milan Bergamo Orio al Serio Airport: Parking, Taxis, WC.
Accessibility facilities are available at Milan Bergamo Orio al Serio Airport: Elevators, ramps.
Here are some other resources that might have the information you need