- Must visit
Pinacoteca di Brera
Milan’s premier art gallery, known for Italian masterpieces by Raphael, Caravaggio, and Mantegna in the historic Brera district.
Cheapest price
$91
Average price
$102
Fastest journey
11 h
Average duration
11 h 28 m
Buses per day
9
Distance
781 km
The best way to find a cheap bus ticket from Gravina in Puglia to Milan is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Gravina in Puglia to Milan will cost around $102 if you buy it on the day, but the cheapest tickets can be found for only $91.
Of the 9 buses that leave Gravina in Puglia for Milan on Sat, Jun 20, 2 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Sat, Jun 20 the direct buses cover the 781 km distance in an average of 11 h 28 m but if you time it right, some buses will get you there in just 11 h .
On Sat, Jun 20 the slowest buses will take 11 h 45 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.
202 · 200
202 · 200
130 · 101
130 · 101
FlixBus · FlixBus
130 · 101
046
130 · 101
202 · 200
046Omio recommends booking the bus as it is the most popular option from Gravina in Puglia to Milan among Omio's users. If you are prioritising price take the bus with prices starting from $31. For those with little time consider booking a flight which can get you there in 1h 45m. 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 $31, and a flight costs an average of $21.
Distance: 485 miles (781 km)
Most popular Bus | Flight | Train | Driving |
|---|---|---|---|
$74 Average price Cheapest | $96 Average price | $92 Average price | $255 Average price (fuel + tolls) |
11h 59m Average total duration 11h 29m Onboard + 30m Additional time* | 4h 45m Average total duration Fastest 1h 45m Onboard + 3h 0m Additional time* | 8h 56m Average total duration 8h 26m Onboard + 30m Additional time* | 9h 14m Average total duration (door-to-door) |
0.8 - 2.0kg CO2 emissions | 2.3 - 4.7kg CO2 emissions | 0.2 - 0.7kg CO2 emissions Lowest | - CO2 emissions |
![]() Most popular bus company | ![]() Most popular airline | ![]() 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 Gravina in Puglia to Milan:
A bus is $18 (€15) less than a train for this route with tickets for a train from Gravina in Puglia to Milan costing on average $92 (€75).
A bus is $22 (€18) less than a flight for this route with tickets for a flight from Gravina in Puglia to Milan costing on average $96 (€79).
Other travel options to Milan take longer:
Train takes on average 8h 26m.
Bus takes on average 11h 29m.
Tickets start at around $74 (€61) compared to roughly $255 (€209) in fuel and tolls — a saving of about $181 (€148). The journey takes 11h 29m versus 9h 14m by car, so you'll arrive a bit later, but you can use the time productively rather than spending it behind the wheel. No parking to sort, no fuel stops, and most coaches have Wi-Fi and power outlets.
Direct services are operated by Marino Autolinee, BlaBlaCar.
Driving is worth considering if you're on a tight schedule, travelling as a group (where fuel costs split several ways), or want the flexibility to stop along the way.
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator Marino Autolinee | Departure Time 06:55AM | Arrival Time 06:40PM | Duration 11h45 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $77 |
Operator FlixBus | Departure Time 12:25PM | Arrival Time 11:55AM | Duration 23h30 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $48 |
Operator Marino Autolinee | Departure Time 05:15PM | Arrival Time 05:00AM | Duration 11h45 | Departure days Tue | Cheapest price $128 |
Operator Marino Autolinee | Departure Time 07:15PM | Arrival Time 06:25AM | Duration 11h10 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $82 |
Operator Marino Autolinee | Departure Time 08:40PM | Arrival Time 08:20AM | Duration 11h40 | Departure days Tue | Cheapest price $96 |
Operator Marino Autolinee | Departure Time 09:40PM | Arrival Time 09:20AM | Duration 11h40 | Departure days Tue | Cheapest price $89 |
Operator Marino Autolinee | Departure Time 10:40PM | Arrival Time 10:20AM | Duration 11h40 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $77 |
The table below shows live departures for Gravina in Puglia to Milan buses for today, Friday, June 19. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
046 | 7:15 PM Gravina in Puglia, Corso Giuseppe di Vittorio (Gravina in Puglia) | 11h45 | 7:00 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
046 | 7:15 PM Gravina in Puglia, Corso Giuseppe di Vittorio (Gravina in Puglia) | 11h10 | 6:25 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
130 · 101 | 10:40 PM Gravina in Puglia, Corso Giuseppe di Vittorio (Gravina in Puglia) | 11h40 | 10:20 AM Milano, Autostazione Lampugnano | 1 transfer | |
130 · 101 | 10:40 PM Gravina in Puglia, Corso Giuseppe di Vittorio (Gravina in Puglia) | 11h00 | 9:40 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
| Saturday, June 20 | |||||
202 · 200 | 6:55 AM Gravina in Puglia, Corso Giuseppe di Vittorio (Gravina in Puglia) | 11h45 | 6:40 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
202 · 200 | 6:55 AM Gravina in Puglia, Corso Giuseppe di Vittorio (Gravina in Puglia) | 12h30 | 7:25 PM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus · FlixBus · FlixBus | 12:25 PM Gravina in Puglia, Corso Giuseppe di Vittorio (Gravina in Puglia) | 23h30 | 11:55 AM Milano, Milan Linate Airport | 2 transfers | |
FlixBus · FlixBus | 12:25 PM Gravina in Puglia, Corso Giuseppe di Vittorio (Gravina in Puglia) | 15h35 | 4:00 AM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus · FlixBus | 12:25 PM Gravina in Puglia, Corso Giuseppe di Vittorio (Gravina in Puglia) | 16h50 | 5:15 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
This is the last bus of the day. | |||||
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.
Buses from Gravina in Puglia to Milan run on average 11 times per day, taking around 11h 29m. Cheap bus tickets for this journey start at $31 (€25) but you can travel from only $21 (€17) by flight.
There are 2 buses per day. The earliest bus runs at 00:10, the last at 23:55. The fastest bus covers the 485 miles (781 km) distance in 11h 40m.
Distance 485 miles (781 km) |
Average bus duration 11h 29m |
Cheapest ticket price $31 (€25) |
Buses per day 11 |
Direct buses 2 |
Fastest bus 11h 40m |
First bus 12:10 AM |
Last bus 11:55 PM |
Cheapest Month Jul |
Cheapest Day Thu |
High Season Apr - Jun |
Low Season Jan - Mar |
Busiest Day Wed |
Least Busy Day Wed |
Best time to book 3 days |
Discover the best of Milan — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Milan trip today.
Milan’s premier art gallery, known for Italian masterpieces by Raphael, Caravaggio, and Mantegna in the historic Brera district.
Museum entry for Leonardo’s The Last Supper, one of the world’s most famous artworks and a priority booking site in Milan.
Major museum of 20th-century Italian art facing Piazza del Duomo, with strong Futurist collections and rooftop views.
Milan’s canal district, known for waterside walks, lively atmosphere, and highly photogenic bridges and reflections.
Charming central neighborhood with elegant streets, galleries, boutiques, and a classic Milanese artistic atmosphere.
Milan’s main square and the city’s most important urban landmark, ideal for first-time visitors and classic views.
Milan’s signature saffron risotto, rich with butter and cheese, prized for its golden color and elegant flavor.
A traditional breaded veal cutlet, fried until crisp. It is one of the city’s most iconic and historic main dishes.
Braised veal shank, often served with risotto alla Milanese. It is a classic Lombard comfort dish with deep, slow-cooked flavor.
Iconic casual spot famous for panzerotti, beloved by locals and visitors for quick, affordable bites near the Duomo.
Well-known modern Milanese restaurant celebrated for refined local dishes such as mondeghili and risotto in a stylish setting.
Historic traditional trattoria serving classic Milanese and Lombard dishes in an old-world, elegant atmosphere.
Prices are high by Italian standards, especially for hotels and central dining, but budget cafés and aperitivo deals help control daily costs.
Tipping is modest. Service may be included or a coperto charged. Round up or leave 5-10% for very good restaurant service; small change for taxis and cafés is enough.
Official public transport app
Orio Al Serio Airport, Bergamo -> Milano Centrale
Find answers to the most common questions about traveling from Gravina in Puglia to Milan by bus. 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 bus, the cheapest option, or tips for making the most of your visit at Milan, this guide helps you travel smarter and with confidence.

Here are some other resources that might have the information you need