- Must visit
Pinacoteca di Brera
One of Italy’s top art museums, featuring masterpieces by Mantegna, Bellini, Raphael, Caravaggio, and Piero della Francesca.
Flights from Bari to Milan depart on average 21 times per day, taking around 2h 54m. Cheap flight tickets for this journey start at kr143 but you can travel from only kr99 by bus.
There are 10 flights per day. The earliest flight runs at 00:01, the last at 23:55. The fastest flight covers the 488 miles (786 km) distance in 1h 24m. July is the cheapest month to fly.
Distance 488 miles (786 km) |
Average flight duration 2h 54m |
Cheapest ticket price kr143 |
Flights per day 21 |
Direct flights 10 |
Fastest flight 1h 24m |
First flight 12:01 AM |
Last flight 11:55 PM |
Cheapest Month Jul |
Cheapest Day Sat |
High Season Jul - Sep |
Low Season Jan - Mar |
Busiest Day Thu |
Least Busy Day Sun |
Best time to book 77 days |
Cheapest price on Aug 29
kr1950
Average ticket price on Aug 29
kr3202
Fastest journey on Aug 29
1 h 25 m
Average journey duration on Aug 29
1 h 28 m
Flights on Aug 29
26
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 traveling at rush hour.
The average ticket from Bari to Milan will cost around kr3202 if you buy it on the day, but the cheapest tickets can be found for only kr1950.
On Sat, Aug 29, we found 26 flights from Bari to Milan, including 7 direct services.
On Sat, Aug 29 the direct flights cover the 786 km distance in an average of 1 h 28 m but if you time it right, some flights will get you there in just 1 h 25 m .
On Sat, Aug 29 the longest 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
AZ1616 · AZ2056
FR 3654
FR 2771
AZ1648
AZ1648
AZ1650
FR 4131
FR 4668
FR 3654Omio recommends booking the bus as it is the most popular option from Bari to Milan among Omio's users. If you are prioritising price, take the bus, with an average ticket price of kr203 For those with little time, consider booking a flight, which has an average total journey time of 4h 54m. If you are seeking to minimise your carbon footprint, the train is your best option, with estimated CO2 emissions of 0.2 - 0.7kg. Average ticket prices depend on the travel mode: a bus costs an average of kr203, while a flight costs an average of kr632.
Distance: 488 miles (786 km)
| Flight | Most popular Bus | Train |
|---|---|---|
kr632 Average price | kr203 Average price Cheapest | kr545 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.
This is compared to other travel options from Bari to Milan:
A bus is kr342 less than a train for this route with tickets for a train from Bari to Milan costing on average kr545.
A bus is kr429 less than a flight for this route with tickets for a flight from Bari to Milan costing on average kr632.
Other travel options to Milan take longer:
Train takes on average 8h 41m.
Bus takes on average 10h 23m.
The table below shows live departures for Bari to Milan flights for today, Friday, August 28. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
LG536 · LG6997 | 3:50 PM Bari Palese Airport | 4h40 | 8:30 PM Milan Malpensa Airport | 1 transfer | |
FR 6183 | 8:40 PM Bari Palese Airport | 1h40 | 10:20 PM Milan Malpensa Airport | 0 transfersDirect | |
FR 4659 | 11:10 PM Bari Palese Airport | 1h30 | 12:40 AM Milan Bergamo Orio al Serio Airport | 0 transfersDirect | |
| Saturday, August 29 | |||||
FRECCIAROSSA 8348+ DE4186 · DE4359+ Leonardo express 4606 | 5:50 AM Bari Centrale | 15h30 | 9:20 PM Milan Malpensa Airport | 3 transfers | |
FRECCIAROSSA 8348+ AZ2092+ Leonardo express 4606 | 5:50 AM Bari Centrale | 12h20 | 6:10 PM Milan Linate Airport | 2 transfers | |
FRECCIAROSSA 8348+ AZ2056+ Leonardo express 4606 | 5:50 AM Bari Centrale | 14h25 | 8:15 PM Milan Linate Airport | 2 transfers | |
Intercity 716 · Intercity 596+ Regionale 83088+ AZ2058 | 7:05 AM Bari Centrale | 15h05 | 10:10 PM Milan Linate Airport | 3 transfers | |
Intercity 716 · Intercity 596+ Regionale 83088+ AZ2056 | 7:05 AM Bari Centrale | 13h10 | 8:15 PM Milan Linate Airport | 3 transfers | |
Intercity 716 · Intercity 596+ Regionale 83088+ AZ2130 | 7:05 AM Bari Centrale | 16h05 | 11:10 PM Milan Linate Airport | 3 transfers | |
FR 4668 | 7:35 AM Bari Palese Airport | 1h30 | 9:05 AM Milan Bergamo Orio al Serio Airport | 0 transfersDirect | |
FRECCIAROSSA 8302+ AZ2092+ Leonardo express 4618 | 7:40 AM Bari Centrale | 10h30 | 6:10 PM Milan Linate Airport | 2 transfers | |
FRECCIAROSSA 8302+ AZ2058+ Leonardo express 4618 | 7:40 AM Bari Centrale | 14h30 | 10:10 PM Milan Linate Airport | 2 transfers | |
FRECCIAROSSA 8302+ AZ2056+ Leonardo express 4618 | 7:40 AM Bari Centrale | 12h35 | 8:15 PM Milan Linate Airport | 2 transfers | |
FRECCIAROSSA 8306+ AZ2092+ Leonardo express 4704 | 8:40 AM Bari Centrale | 9h30 | 6:10 PM Milan Linate Airport | 2 transfers | |
FRECCIAROSSA 8306+ AZ2058+ Leonardo express 4704 | 8:40 AM Bari Centrale | 13h30 | 10:10 PM Milan Linate Airport | 2 transfers | |
FRECCIAROSSA 8306+ AZ2056+ Leonardo express 4704 | 8:40 AM Bari Centrale | 11h35 | 8:15 PM Milan Linate Airport | 2 transfers | |
AZ1648 | 10:15 AM Bari Palese Airport | 1h25 | 11:40 AM Milan Linate Airport | 0 transfersDirect | |
FRECCIARGENTO 8312+ Leonardo express 4640+ AZ2056 | 11:00 AM Bari Centrale | 9h15 | 8:15 PM Milan Linate Airport | 2 transfers | |
FRECCIARGENTO 8312+ AZ2130+ Leonardo express 4640 | 11:00 AM Bari Centrale | 12h10 | 11:10 PM Milan Linate Airport | 2 transfers | |
FRECCIARGENTO 8312+ AZ2058+ Leonardo express 4640 | 11:00 AM Bari Centrale | 11h10 | 10:10 PM Milan Linate Airport | 2 transfers | |
Find all the dates and times for this journey
Compare train, bus, 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 Italy’s top art museums, featuring masterpieces by Mantegna, Bellini, Raphael, Caravaggio, and Piero della Francesca.
This contemporary art museum near Porta Romana presents rotating exhibitions in a striking former industrial distillery complex.
Italy’s leading science museum is set in a former monastery and features Leonardo galleries, trains, aircraft, and a submarine.
Milan’s central square frames the cathedral and major civic buildings, making it the city’s essential meeting point and photo stop.
This artistic district offers charming lanes, Brera atmosphere, boutiques, and easy access to galleries and evening strolls.
A large landscaped park behind the castle, perfect for walks, skyline views, and reaching landmarks like the Arch of Peace.
Saffron risotto cooked with butter, stock and cheese. It is Milan's signature dish, linked to the city's love of rich northern Italian rice cookery.
Breaded veal cutlet fried in butter until golden. A classic Milanese main, prized for its simple preparation and long-standing local tradition.
Slow-braised veal shanks with vegetables, wine and broth, often finished with gremolata. A hearty Lombard specialty commonly paired with risotto.
Three-Michelin-star fine dining by Enrico Bartolini in MUDEC. Expect refined Italian tasting menus in a polished contemporary setting.
Historic Milanese restaurant near the Duomo, famous for risotto and cotoletta. Traditional, elegant rooms and a strong local culinary identity.
Long-running local favorite for classic Milanese cuisine, especially risotto and ossobuco. Warm, old-school atmosphere in the Brera area.
Moderate for Western Europe. Hotels and central dining can be pricey, but transit is affordable and budget meals, aperitivo deals, and local cafes help keep daily costs reasonable.
Tipping is modest. Service may be included. Round up or leave €1-2 at cafes, 5-10% for good restaurant service, and round up taxi fares.
Official public transport app
Milan Malpensa Airport -> Milano Centrale
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