- Recommended
Pinacoteca Metropolitana di Bari "Corrado Giaquinto"
The city’s main art museum, known for Apulian paintings, Venetian works, and a strong collection spanning the Middle Ages to the 20th century.
Cheapest price
$24
Average price
$76
Fastest journey
10 h 30 m
Average duration
10 h 51 m
Buses per day
29
Distance
786 km
The best way to find a cheap bus ticket from Milan to Bari is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Milan to Bari will cost around $76 if you buy it on the day, but the cheapest tickets can be found for only $24.
Of the 29 buses that leave Milan for Bari on Wed, Jun 03, 12 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Wed, Jun 03 the direct buses cover the 786 km distance in an average of 10 h 51 m but if you time it right, some buses will get you there in just 10 h 30 m .
On Wed, Jun 03 the slowest buses will take 11 h 15 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.
FlixBus
FlixBus
2205
201 · 207
201 · 207
102
041
FlixBus
FlixBus · FlixBus
102Omio recommends booking the bus as it is the most popular option from Milan to Bari among Omio's users. If you are prioritising price take the bus with prices starting from $19. For those with little time consider booking a flight which can get you there in 5h 44m. 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 $19, and a flight costs an average of $67.
Distance: 488 miles (786 km)
Most popular Bus | Train | Flight | Driving |
|---|---|---|---|
$41 Average price Cheapest | $98 Average price | $159 Average price | $275 Average price (fuel + tolls) |
10h 12m Average total duration 9h 42m Onboard + 30m Additional time* | 7h 53m Average total duration 7h 23m Onboard + 30m Additional time* | 8h 44m Average total duration Fastest 5h 44m Onboard + 3h 0m Additional time* | 9h 4m Average total duration (door-to-door) |
0.8 - 2.0kg CO2 emissions | 0.2 - 0.7kg CO2 emissions Lowest | - CO2 emissions | - CO2 emissions |
![]() Most popular bus company | ![]() Most popular train company | ![]() Most popular airline | 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 Bari:
A bus is $57 (€46) less than a train for this route with tickets for a train from Milan to Bari costing on average $98 (€79).
A bus is $118 (€95) less than a flight for this route with tickets for a flight from Milan to Bari costing on average $159 (€128).
Other travel options to Bari take longer:
Train takes on average 7h 23m.
Bus takes on average 9h 42m.
Tickets start at around $41 (€33) compared to roughly $275 (€222) in fuel and tolls — a saving of about $234 (€189). The journey takes 9h 42m versus 9h 4m 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 Itabus, Marino Autolinee, FlixBus, 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 Itabus | Departure Time 12:30AM | Arrival Time 04:05PM | Duration 15h35 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $37 |
Operator FlixBus | Departure Time 01:10AM | Arrival Time 04:50PM | Duration 15h40 | Departure days Mon, Wed, Thu, Sat, Sun | Cheapest price $64 |
Operator BlaBlaCar | Departure Time 03:00AM | Arrival Time 11:40AM | Duration 8h40 | Departure days Fri | Cheapest price $65 |
Operator FlixBus | Departure Time 06:15AM | Arrival Time 08:30PM | Duration 14h15 | Departure days Mon, Fri, Sat, Sun | Cheapest price $42 |
Operator FlixBus | Departure Time 07:25AM | Arrival Time 08:45PM | Duration 13h20 | Departure days Wed, Thu | Cheapest price $24 |
Operator FlixBus | Departure Time 07:55AM | Arrival Time 11:30PM | Duration 15h35 | Departure days Mon, Fri, Sat, Sun | Cheapest price $61 |
Operator Itabus | Departure Time 08:00AM | Arrival Time 10:50PM | Duration 14h50 | Departure days Mon, Fri, Sat, Sun | Cheapest price $36 |
Operator FlixBus | Departure Time 08:15AM | Arrival Time 08:30PM | Duration 12h15 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $23 |
Operator Marino Autolinee | Departure Time 08:25AM | Arrival Time 08:40PM | Duration 12h15 | Departure days Everyday | Cheapest price $46 |
Operator Marino Autolinee | Departure Time 09:10AM | Arrival Time 08:40PM | Duration 11h30 | Departure days Everyday | Cheapest price $46 |
Operator FlixBus | Departure Time 10:20AM | Arrival Time 05:00AM | Duration 18h40 | Departure days Mon, Thu, Fri, Sat, Sun | Cheapest price $64 |
Operator FlixBus | Departure Time 12:25PM | Arrival Time 03:45AM | Duration 15h20 | Departure days Sat, Sun | Cheapest price $56 |
Operator Itabus | Departure Time 12:35PM | Arrival Time 04:20AM | Duration 15h45 | Departure days Everyday | Cheapest price $36 |
Operator FlixBus | Departure Time 12:45PM | Arrival Time 03:45AM | Duration 15h00 | Departure days Mon, Wed, Fri | Cheapest price $75 |
Operator Itabus | Departure Time 12:50PM | Arrival Time 04:20AM | Duration 15h30 | Departure days Mon, Fri, Sat, Sun | Cheapest price $30 |
Operator BlaBlaCar | Departure Time 01:00PM | Arrival Time 09:30PM | Duration 8h30 | Departure days Tue | Cheapest price $95 |
Operator Itabus | Departure Time 01:35PM | Arrival Time 04:20AM | Duration 14h45 | Departure days Mon, Fri, Sat, Sun | Cheapest price $30 |
Operator FlixBus | Departure Time 03:15PM | Arrival Time 06:45AM | Duration 15h30 | Departure days Wed | Cheapest price $71 |
Operator FlixBus | Departure Time 03:35PM | Arrival Time 07:55AM | Duration 16h20 | Departure days Everyday | Cheapest price $77 |
Operator FlixBus | Departure Time 04:20PM | Arrival Time 06:45AM | Duration 14h25 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $42 |
Operator FlixBus | Departure Time 05:05PM | Arrival Time 06:45AM | Duration 13h40 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $41 |
Operator FlixBus | Departure Time 05:45PM | Arrival Time 12:50PM | Duration 19h05 | Departure days Everyday | Cheapest price $84 |
Operator FlixBus | Departure Time 06:30PM | Arrival Time 12:50PM | Duration 18h20 | Departure days Everyday | Cheapest price $84 |
Operator Marino Autolinee | Departure Time 06:50PM | Arrival Time 06:05AM | Duration 11h15 | Departure days Everyday | Cheapest price $78 |
Operator Itabus | Departure Time 07:20PM | Arrival Time 07:25AM | Duration 12h05 | Departure days Everyday | Cheapest price $20 |
Operator Marino Autolinee | Departure Time 07:35PM | Arrival Time 06:05AM | Duration 10h30 | Departure days Everyday | Cheapest price $78 |
Operator Itabus | Departure Time 08:05PM | Arrival Time 07:25AM | Duration 11h20 | Departure days Everyday | Cheapest price $20 |
Operator FlixBus | Departure Time 08:25PM | Arrival Time 07:55AM | Duration 11h30 | Departure days Everyday | Cheapest price $24 |
Operator Marino Autolinee | Departure Time 08:25PM | Arrival Time 07:50AM | Duration 11h25 | Departure days Everyday | Cheapest price $88 |
Operator FlixBus | Departure Time 09:00PM | Arrival Time 12:35PM | Duration 15h35 | Departure days Everyday | Cheapest price $72 |
Operator Itabus | Departure Time 09:05PM | Arrival Time 08:40AM | Duration 11h35 | Departure days Mon, Wed, Fri | Cheapest price $20 |
Operator FlixBus | Departure Time 09:05PM | Arrival Time 07:55AM | Duration 10h50 | Departure days Everyday | Cheapest price $24 |
Operator Marino Autolinee | Departure Time 09:05PM | Arrival Time 07:50AM | Duration 10h45 | Departure days Everyday | Cheapest price $88 |
Operator Itabus | Departure Time 09:35PM | Arrival Time 12:00PM | Duration 14h25 | Departure days Everyday | Cheapest price $20 |
Operator FlixBus | Departure Time 09:50PM | Arrival Time 12:35PM | Duration 14h45 | Departure days Everyday | Cheapest price $58 |
Operator Itabus | Departure Time 10:30PM | Arrival Time 02:50PM | Duration 16h20 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $50 |
Operator FlixBus | Departure Time 11:10PM | Arrival Time 02:30PM | Duration 15h20 | Departure days Everyday | Cheapest price $38 |
Operator FlixBus | Departure Time 11:20PM | Arrival Time 02:55PM | Duration 15h35 | Departure days Thu, Fri, Sat, Sun | Cheapest price $85 |
Operator Itabus | Departure Time 11:30PM | Arrival Time 04:05PM | Duration 16h35 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $38 |
Operator Itabus | Departure Time 11:45PM | Arrival Time 04:05PM | Duration 16h20 | Departure days Everyday | Cheapest price $36 |
The table below shows live departures for Milan to Bari buses for today, Tuesday, June 2. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
2401 · 1101 | 12:35 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 15h45 | 4:20 AM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
FlixBus · FlixBus · FlixBus | 3:35 PM Milano, Milan Linate Airport | 16h20 | 7:55 AM Bari, Via Capruzzi (Terminal Bus Bari) | 2 transfers | |
FlixBus · FlixBus | 4:20 PM Milano, Autostazione Lampugnano | 14h25 | 6:45 AM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
FlixBus · FlixBus | 5:05 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 13h40 | 6:45 AM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
FlixBus · FlixBus | 5:45 PM Milano, Autostazione Lampugnano | 19h05 | 12:50 PM Bari, Aeroporto di Bari-Karol Wojtyła | 1 transfer | |
FlixBus · FlixBus | 6:30 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 18h20 | 12:50 PM Bari, Aeroporto di Bari-Karol Wojtyła | 1 transfer | |
102 | 6:50 PM Milano, Autostazione Lampugnano | 11h15 | 6:05 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
2213 | 7:20 PM Milano, Autostazione Lampugnano | 12h05 | 7:25 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
102 | 7:35 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 10h30 | 6:05 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
2213 | 8:05 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 11h20 | 7:25 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
FlixBus | 8:25 PM Milano, Autostazione Lampugnano | 11h30 | 7:55 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
041 | 8:25 PM Milano, Autostazione Lampugnano | 11h25 | 7:50 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
FlixBus · FlixBus | 8:25 PM Milano, Autostazione Lampugnano | 11h35 | 8:00 AM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
FlixBus · FlixBus · FlixBus | 9:00 PM Milano, Milan Linate Airport | 15h35 | 12:35 PM Bari, Via Capruzzi (Terminal Bus Bari) | 2 transfers | |
041 | 9:05 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 10h45 | 7:50 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
FlixBus | 9:05 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 10h50 | 7:55 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
FlixBus · FlixBus | 9:05 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 10h55 | 8:00 AM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
2421 | 9:35 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 14h25 | 12:00 PM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
FlixBus · FlixBus | 9:50 PM Milano, Autostazione Lampugnano | 14h45 | 12:35 PM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
FlixBus · FlixBus | 11:10 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 15h20 | 2:30 PM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
2495 · 1109 | 11:30 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 16h35 | 4:05 PM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
3825 · 1109 | 11:45 PM Milano, Autostazione Lampugnano | 16h20 | 4:05 PM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
| Wednesday, June 3 | |||||
3825 · 1109 | 12:30 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 15h35 | 4:05 PM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
FlixBus · FlixBus | 1:10 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 15h40 | 4:50 PM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
FlixBus | 7:25 AM Milano, Autostazione Lampugnano | 13h20 | 8:45 PM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
FlixBus | 8:15 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 12h30 | 8:45 PM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
201 · 207 | 8:25 AM Milano, Autostazione Lampugnano | 12h15 | 8:40 PM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
201 · 207 | 9:10 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 11h30 | 8:40 PM Bari, Via Capruzzi (Terminal Bus Bari) | 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 Milan to Bari run on average 28 times per day, taking around 9h 42m. Cheap bus tickets for this journey start at $19 (€16) if you book in advance.
There are 10 buses per day. The earliest bus runs at 00:01, the last at 23:55. The fastest bus covers the 488 miles (786 km) distance in 10h 45m.
Distance 488 miles (786 km) |
Average bus duration 9h 42m |
Cheapest ticket price $19 (€16) |
Buses per day 28 |
Direct buses 10 |
Fastest bus 10h 45m |
First bus 12:01 AM |
Last bus 11:55 PM |
Cheapest Month Sep |
Cheapest Day Mon |
High Season Jul - Sep |
Low Season Jan - Mar |
Busiest Day Wed |
Least Busy Day Sun |
Best time to book 49 days |
Discover the best of Bari — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Bari trip today.
The city’s main art museum, known for Apulian paintings, Venetian works, and a strong collection spanning the Middle Ages to the 20th century.
An archaeological museum in a historic monastic complex, presenting finds that trace Bari and Apulia from prehistory to the medieval era.
A former sea-front theater now used for modern and contemporary cultural exhibitions, notable for its unusual structure over the water.
The old town is the city’s essential walking area, with stone alleys, courtyards, street life, and many of Bari’s key historic sights.
Bari’s famous seafront promenade, ideal for long walks, sea views, and photos of the coastline and monumental waterfront architecture.
A famous lane in Bari Vecchia where local women are known for making fresh pasta by hand, now highly popular with visitors and on social media.
Bari's signature pasta dish of ear-shaped orecchiette with turnip tops, garlic, olive oil, and often anchovy or chili. It is one of the most iconic flavors of Apulia.
A beloved Bari baked dish layering rice, potatoes, and mussels with tomato, onion, and olive oil. It is a classic Sunday and festive recipe from the local coast.
Traditional Bari focaccia made with soft dough enriched with potato, topped with tomato, olives, and olive oil. It is a famous local street food found across the old city.
Respected restaurant focused on traditional Bari and Apulian cuisine, including orecchiette and seasonal local ingredients, in a warm, rustic setting.
More refined dining option in Bari offering polished Apulian cooking with seafood and regional specialties in an elegant atmosphere.
Popular seafood restaurant in central Bari known for raw and cooked local catches, generous portions, and a lively, informal atmosphere.
Generally moderate by Italian standards: casual food is affordable, while central hotels and seafood restaurants cost more in peak season.
Service is often included or covered by coperto. Tipping is not required, but leaving EUR 1-2 at cafes or 5-10% at restaurants for good service is appreciated. Round up taxi fares.
On average, there are between one to three daily buses from Milan to Bari. Per week, you will find that there are normally around 20 journeys offered between the two cities. The length of the trip will depend on what time of day your bus departs and if there is any traffic. In general, you can expect the duration of your journey to be between 10h 20min and 11h. Trips from Milan to Bari are usually direct and do not involve transferring buses. When you arrive in Bari, there are many things for you to visit and explore, including the Castello Normanno-Svevo and the Piazza del Ferrarese.
There are a few different factors that can impact how long your trip ends up lasting, such as the time of day that you will be departing, how many stops there are along the way, and traffic conditions when you are on the road. Under normal circumstances, you can expect for buses from Milan to Bari to last between 10h 20min and 11h in total. This journey almost never requires passengers to change buses and is instead a direct route.
There are approximately one to three buses that are serviced between Milan and Bari per day. While the daily total may vary, the weekly total is generally around 20 buses if there are not any public holidays. This trip is almost always direct, so passengers will not have to worry about having to change buses during the journey. However, there may be additional stops before reaching the final destination of Bari. The first bus of the day often departs at approximately 8:40 p.m., while the last bus of the day departs closer to 9:20 p.m.
Departure bus station: Your bus for this route will generally depart from either Autostazione Lampugnano or San Donato M3. Autostazione Lampugnano can be found in the northwest part of the city and can be reached from the city center in approximately 25min by taking local bus routes Z301 or Z617. San Donato M3 is in the southeast part of Milan and can be reached from the city center in approximately 30min by either taking bus lines 91 and 92 or metro line 3. Both of these stations provide basic amenities for travelers, such as sitting areas and public restrooms. It’s best to arrive a minimum of 30min before your bus departs in order to have enough time to organize your personal belongings and begin the boarding process.
Arrival bus station: At the end of your journey, you will arrive at the Via Giuseppe Capruzzi bus stop that is almost directly in the city center. The Bari Centrale metro stop is less than a 5min walk from here, making it easy for you to head anywhere else in the city. Like Autostazione Lampugnano and San Donato M3, this bus station is equipped with sitting areas, public restrooms, and even places to purchase light refreshments.
There is one primary company that is known for servicing buses from Milan to Bari, and it is called MarinoBus. MarinoBus was created in the 1950s and now offers trips to over 200 destinations throughout Europe.
MarinoBus services between one to three daily buses from Milan to Bari, for a weekly total of approximately 20 journeys. This route is almost always direct, but your bus may make additional stops before reaching its final destination. While the duration of your trip can vary, you can expect for it to generally last anywhere from 10h 20min to 11h. MarinoBus normally uses standard coaches for its domestic trips. Buses between these two cities generally depart from either Autostazione Lampugnano or San Donato M3 and arrive at the Via Giuseppe Capruzzi station. If you would like to cancel your ticket, it’s possible for you to receive a partial refund. If you cancel within 48h of when your bus is scheduled to depart, you will receive 70% compensation of the price of your reservation. MarinoBus normally operates the same number of journeys on weekdays and weekends, but fewer trips may be offered if it’s a public holiday.
On all coaches operated by MarinoBus, passengers will have access to comfortable chairs with a spacious amount of legroom and reclining backs. Each bus is also equipped with complimentary Wi-Fi for you to use on your personal electronic devices throughout the journey, as well as a restroom for passengers. Some buses may sell light refreshments during trips. Passengers are allowed one small piece of luggage that can be stored under their seat or in an overhead compartment, as well as two larger suitcases that can be kept in storage underneath the bus. You can bring a bike with you for an additional fee as long as you can separate it into two pieces and store it in a bag. If you would like to do this, make sure to contact the company ahead of time to ensure that there will be enough space. Each passenger may also bring one small pet that is kept in a pet carrier on the floor near their seat. You will be required to purchase a separate ticket for your animal, which will cost the same price as a ticket for a minor. Service animals are always allowed on board for no additional fee, as long as they are on a leash and properly identified. All buses that are operated by MarinoBus are wheelchair accessible, including their onboard facilities, such as bathrooms for passengers. If you or someone that you will be traveling with has limited mobility, make sure to contact the company ahead of time. They will ensure that an employee is there to assist you with storing your luggage, boarding the bus, and departing once you reach your destination.
Find answers to the most common questions about traveling from Milan to Bari 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 Bari, this guide helps you travel smarter and with confidence.

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