- 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.
Cheapest price on 13 Oct
£107
Average ticket price on 13 Oct
£220
Fastest journey on 13 Oct
1 h 24 m
Average journey duration on 13 Oct
1 h 26 m
Flights on 13 Oct
37
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 £220 if you buy it on the day, but you can find cheap flight tickets today for only £107.
On Tue 13 Oct, we found 37 flights from Bari to Milan, including 13 direct services.
These direct flights cover the 786 km distance in an average of 1 h 26 m but if you time it right, some flights will get you there in just 1 h 24 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.
AZ1612 · AZ2044
AZ1602 · AZ2036
AZ1602 · AZ2028
AZ1606 · AZ2130
AZ1616 · AZ2092
AZ1650
AZ1648
AZ1654
AZ1672
AZ1638Flights from Bari to Milan depart on average 20 times per day, taking around 1h 58m. Cheap flight tickets for this journey start at £15 but you can travel from only £10 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. August is the cheapest month to fly.
Distance 786 km |
Average flight duration 1h 58m |
Cheapest ticket price £15 |
Flights per day 20 |
Direct flights 10 |
Fastest flight 1h 24m |
First flight 0:01 |
Last flight 23:55 |
Cheapest Month Aug |
Cheapest Day Sat |
High Season Jul - Sept |
Low Season Jan - Mar |
Busiest Day Sat |
Least Busy Day Sun |
Best time to book 77 days |
The table below shows live departures for Bari to Milan flights for today, Monday 12 October. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
AZ1612 · AZ2044 | 11:20 Bari Palese Airport | 3h50 | 15:10 Milan Linate Airport | 1 change | |
AZ1648 | 11:55 Bari Palese Airport | 1h25 | 13:20 Milan Linate Airport | 0 changesdirect | |
BA580+ BA2603 | 12:00 Bari Palese Airport | 9h35 | 21:35 Milan Linate Airport | 1 change | |
BA590+ BA2603 | 12:00 Bari Palese Airport | 11h35 | 23:35 Milan Malpensa Airport | 1 change | |
FR 277 | 12:15 Bari Palese Airport | 1h40 | 13:55 Milan Malpensa Airport | 0 changesdirect | |
AZ1654 | 13:55 Bari Palese Airport | 1h25 | 15:20 Milan Linate Airport | 0 changesdirect | |
AZ1616 · AZ2050 | 15:20 Bari Palese Airport | 3h50 | 19:10 Milan Linate Airport | 1 change | |
AZ1616 · AZ2056 | 15:20 Bari Palese Airport | 4h50 | 20:10 Milan Linate Airport | 1 change | |
FR 4131 | 16:05 Bari Palese Airport | 1h30 | 17:35 Milan Bergamo Orio al Serio Airport | 0 changesdirect | |
AZ1672 | 16:15 Bari Palese Airport | 1h25 | 17:40 Milan Linate Airport | 0 changesdirect | |
AZ1606 · AZ2130 | 19:25 Bari Palese Airport | 3h45 | 23:10 Milan Linate Airport | 1 change | |
FR 2771 | 20:05 Bari Palese Airport | 1h40 | 21:45 Milan Malpensa Airport | 0 changesdirect | |
AZ1650 | 21:35 Bari Palese Airport | 1h24 | 22:59 Milan Linate Airport | 0 changesdirect | |
BA568+ BA2607 | 21:35 Bari Palese Airport | 12h35 | 10:10 Milan Linate Airport | 1 change | |
BA2607+ BA7301 | 21:35 Bari Palese Airport | 12h20 | 9:55 Milan Linate Airport | 1 change | |
FR 4659 | 22:50 Bari Palese Airport | 1h30 | 0:20 Milan Bergamo Orio al Serio Airport | 0 changesdirect | |
| Tuesday 13 October | |||||
FR 4668 | 5:45 Bari Palese Airport | 1h30 | 7:15 Milan Bergamo Orio al Serio Airport | 0 changesdirect | |
FRECCIAROSSA 8348+ Leonardo express 4606+ AZ2092 | 5:50 Bari Centrale | 12h20 | 18:10 Milan Linate Airport | 2 changes | |
FRECCIAROSSA 8348+ Leonardo express 4606+ AZ2080 | 5:50 Bari Centrale | 11h20 | 17:10 Milan Linate Airport | 2 changes | |
FRECCIAROSSA 8348+ Leonardo express 4606+ AZ2044 | 5:50 Bari Centrale | 9h20 | 15:10 Milan Linate Airport | 2 changes | |
AZ1602 · AZ2036 | 6:30 Bari Palese Airport | 5h10 | 11:40 Milan Linate Airport | 1 change | |
AZ1602 · AZ2028 | 6:30 Bari Palese Airport | 3h40 | 10:10 Milan Linate Airport | 1 change | |
Intercity 716 · Intercity 596+ Regionale 20493+ AZ2130 | 7:05 Bari Centrale | 16h05 | 23:10 Milan Linate Airport | 3 changes | |
Intercity 716 · Intercity 596+ Regionale 20493+ AZ2114 | 7:05 Bari Centrale | 14h05 | 21:10 Milan Linate Airport | 3 changes | |
Intercity 716 · Intercity 596+ Regionale 20493+ KM624 | 7:05 Bari Centrale | 31h40 | 14:45 Milan Linate Airport | 4 changes | |
FR 277 | 7:50 Bari Palese Airport | 1h40 | 9:30 Milan Malpensa Airport | 0 changesdirect | |
Intercity 608+ Regionale Veloce 4155 · Regionale 20517+ AZ2130 | 8:06 Bari Centrale | 15h04 | 23:10 Milan Linate Airport | 3 changes | |
AZ1638 | 8:25 Bari Palese Airport | 1h30 | 9:55 Milan Linate Airport | 0 changesdirect | |
EW9873 · EW9822 | 10:20 Bari Palese Airport | 5h35 | 15:55 Milan Malpensa Airport | 1 change | |
This is the last flight of the day. | |||||
Find all the dates and times for this journey
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