- Recommended
Museo Civico Archeologico
Main civic museum with archaeology, art, and local history collections that explain Gravina’s ancient roots and cultural development.
Flights from Milan to Gravina in Puglia depart on average 28 times per day, taking around 1h 35m. Cheap flight tickets for this journey start at $21 if you book in advance.
There are 9 flights per day. The earliest flight runs at 00:20, the last at 23:55. The fastest flight covers the 485 miles (781 km) distance in 1h 25m. March is the cheapest month to fly.
Distance 485 miles (781 km) |
Average flight duration 1h 35m |
Cheapest ticket price $21 |
Flights per day 28 |
Direct flights 9 |
Fastest flight 1h 25m |
First flight 12:20 AM |
Last flight 11:55 PM |
Cheapest Month Mar |
Cheapest Day Sun |
High Season Apr - Jun |
Low Season Jan - Mar |
Busiest Day Mon |
Least Busy Day Sun |
Best time to book 1 day |
Cheapest price
$187
Average price
$271
Fastest journey
1 h 25 m
Average duration
1 h 29 m
Flights per day
9
Distance
781 km
The best way to find a cheap flight ticket from Milan to Gravina in Puglia is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Milan to Gravina in Puglia will cost around $271 if you buy it on the day, but the cheapest tickets can be found for only $187.
Of the 9 flights that leave Milan for Gravina in Puglia onWed, Aug 05, 7 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Wed, Aug 05 the direct flights cover the 781 km distance in an average of 1 h 29 m but if you time it right, some flights will get you there in just 1 h 25 m .
On Wed, Aug 05 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.
XZ2227
U23531
AZ1639
AZ2013 · AZ1617
AZ1647
AZ1639
AZ1671
AZ1647
FR 4658
XZ2227Omio recommends booking the bus as it is the most popular option from Milan to Gravina in Puglia among Omio's users. If you are prioritising price take the bus with prices starting from $36. For those with little time consider booking a flight which can get you there in 1h 35m. 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 bus costs an average of $36, and a flight costs an average of $21.
Distance: 485 miles (781 km)
| Flight | Most popular Bus | Train | Driving |
|---|---|---|---|
$96 Average price | $76 Average price Cheapest | $92 Average price | $265 Average price (fuel + tolls) |
4h 35m Average total duration Fastest 1h 35m Onboard + 3h 0m Additional time* | 12h 11m Average total duration 11h 41m Onboard + 30m Additional time* | 11h 43m Average total duration 11h 13m Onboard + 30m Additional time* | 9h 6m Average total duration (door-to-door) |
2.3 - 4.7kg CO2 emissions | 0.8 - 2.0kg CO2 emissions | 0.2 - 0.7kg CO2 emissions Lowest | - CO2 emissions |
![]() Most popular airline | ![]() Most popular bus company | ![]() Most popular train company | Your own car or car rental |
Direct Options | 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 Milan to Gravina in Puglia:
A bus is $16 less than a train for this route with tickets for a train from Milan to Gravina in Puglia costing on average $92.
A bus is $19 less than a flight for this route with tickets for a flight from Milan to Gravina in Puglia costing on average $96.
Other travel options to Gravina in Puglia take longer:
Train takes on average 11h 13m.
Bus takes on average 11h 41m.
The table below shows live departures for Milan to Gravina in Puglia flights for today, Tuesday, August 4. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
AZ2097 · AZ1603 | 6:00 PM Milan Linate Airport | 4h55 | 10:55 PM Bari Palese Airport | 1 transfer | |
U23523 | 6:55 PM Milan Malpensa Airport | 1h40 | 8:35 PM Bari Palese Airport | 0 transfersDirect | |
AZ2109 · AZ1603 | 7:00 PM Milan Linate Airport | 3h55 | 10:55 PM Bari Palese Airport | 1 transfer | |
AZ1639 | 7:25 PM Milan Linate Airport | 1h25 | 8:50 PM Bari Palese Airport | 0 transfersDirect | |
FR 4132 | 8:55 PM Milan Bergamo Orio al Serio Airport | 1h30 | 10:25 PM Bari Palese Airport | 0 transfersDirect | |
AZ2013 · AZ1617 | 7:00 AM Milan Linate Airport | 3h35 | 10:35 AM Bari Palese Airport | 1 transfer | |
AZ2045 · AZ1613 | 11:15 AM Milan Linate Airport | 3h20 | 2:35 PM Bari Palese Airport | 1 transfer | |
XZ2227 | 1:20 PM Milan Linate Airport | 1h30 | 2:50 PM Foggia Gino Lisa Airport | 0 transfersDirect | |
AZ1671 | 2:00 PM Milan Linate Airport | 1h30 | 3:30 PM Bari Palese Airport | 0 transfersDirect | |
AZ1647 | 4:05 PM Milan Linate Airport | 1h30 | 5:35 PM Bari Palese Airport | 0 transfersDirect | |
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 Gravina in Puglia — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Gravina in Puglia trip today.
Main civic museum with archaeology, art, and local history collections that explain Gravina’s ancient roots and cultural development.
Exhibition rooms inside a historic palace presenting local heritage displays and temporary shows in an atmospheric noble setting.
Archaeological area and interpretation space focused on the ancient settlement of Sidion, essential for understanding pre-Roman Gravina.
The old town’s atmospheric network of stone lanes, arches, and stairways offers the most immersive walk through Gravina’s layered urban history.
Scenic ravine route with striking geological views, bridges, caves, and photo spots that reveal why Gravina’s setting is so distinctive.
Main square of the historic center, framed by civic buildings and ideal for orienting yourself before exploring churches, lanes, and viewpoints.
Pane Di Altamura IGP is the area's famous durum wheat bread, baked with sourdough and a thick crust. It is central to daily meals across the Murgia plateau.
Cialledda is a rustic bread salad made with stale bread, tomatoes, onion, olive oil, and often cucumber. It reflects the local habit of wasting nothing.
Orecchiette Con Cime Di Rapa pairs ear-shaped pasta with turnip greens, garlic, and olive oil. It is one of Puglia's most iconic and widely loved dishes.
Refined local dining focused on seasonal Apulian ingredients, with polished service and a more contemporary atmosphere.
Traditional restaurant in the historic center serving Apulian pasta, meats, and local specialties in a warm stone-walled setting.
Casual pizzeria and restaurant known for reliable pizzas and regional dishes, popular for informal meals with families and groups.
More affordable than major Italian tourist cities. Dining and stays are moderate, and local transport costs are low, making it good value for southern Italy travel.
Service is often included or modestly priced. Round up or leave 5-10% at restaurants for good service. Taxis are usually rounded up. Small change is enough at cafes.
Find answers to the most common questions about traveling from Milan to Gravina in Puglia 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 Gravina in Puglia, this guide helps you travel smarter and with confidence.

Most Milan to Gravina in Puglia flights use the Milan Linate Airport to Bari Palese Airport airport pair. Use this guide to compare Milan and Gravina in Puglia airports on this route, check city-centre transport, alongside checking practicalities like airport facilities and services.
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