The cheapest and fastest buses from Milan to Bari
Cheapest price
€39
Average price
€67
Fastest journey
9 h 50 m
Average duration
10 h 28 m
Buses per day
33
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 €67 if you buy it on the day, but the cheapest tickets can be found for only €39.
Of the 33 buses that leave Milan for Bari on Sun, Feb 15, 12 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Sun, Feb 15 the direct buses cover the 786 km distance in an average of 10 h 28 m but if you time it right, some buses will get you there in just 9 h 50 m .
On Sun, Feb 15 the slowest buses will take 10 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.
2495 · 1109
3825 · 1109
2213
2213
102
102
041
FlixBusTravel Information
Compare train, bus, and flight for Milan to Bari
Omio 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 €15. For those with little time consider booking a flight which can get you there in 4h 16m. 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 €15, and a flight costs an average of €17.
Distance: 786 km
Compare bus with
Most popular Bus | Train | Flight |
|---|---|---|
€34 Average price Cheapest | €74 Average price | €120 Average price |
11h 30m Average total duration 11h 0m Onboard + 30m Additional time* | 7h 54m Average total duration 7h 24m Onboard + 30m Additional time* | 7h 16m Average total duration Fastest 4h 16m Onboard + 3h 0m Additional time* |
0.8 - 2.0kg CO2 emissions | 0.2 - 0.7kg CO2 emissions Lowest | - CO2 emissions |
![]() Most popular bus company | ![]() Most popular train company | ![]() Most popular airline |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Live departures
Milan to Bari bus times
The table below shows live departures for Milan to Bari buses for today, Saturday, February 14. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
FlixBus · FlixBus · FlixBus | 9:10 AM Milano, Milan Linate Airport | 18h20 | 3:30 AM Bari, Via Capruzzi (Terminal Bus Bari) | 2 transfers | |
3803 · 1107 | 12:00 PM Milano, Autostazione Lampugnano | 16h19 | 4:19 AM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
3803 · 1101 | 12:00 PM Milano, Autostazione Lampugnano | 15h20 | 3:20 AM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
2401 · 1107 | 12:25 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 15h54 | 4:19 AM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
FlixBus · FlixBus · FlixBus | 2:25 PM Milano, Milan Linate Airport | 16h35 | 7:00 AM Bari, Via Capruzzi (Terminal Bus Bari) | 2 transfers | |
FlixBus · FlixBus | 3:20 PM Milano, Autostazione Lampugnano | 14h25 | 5:45 AM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
FlixBus · FlixBus | 4:05 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 13h40 | 5:45 AM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
FlixBus · FlixBus | 4:45 PM Milano, Autostazione Lampugnano | 19h35 | 12:20 PM Bari, Aeroporto di Bari-Karol Wojtyła | 1 transfer | |
FlixBus · FlixBus | 5:25 PM Milano, Autostazione Lampugnano | 13h35 | 7:00 AM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
FlixBus · FlixBus | 5:30 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 18h50 | 12:20 PM Bari, Aeroporto di Bari-Karol Wojtyła | 1 transfer | |
102 | 5:50 PM Milano, Autostazione Lampugnano | 11h15 | 5:05 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
FlixBus · FlixBus | 6:10 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 12h50 | 7:00 AM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
2213 | 6:20 PM Milano, Autostazione Lampugnano | 12h05 | 6:25 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
102 | 6:35 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 10h30 | 5:05 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
2213 | 7:05 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 11h20 | 6:25 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
039 | 7:25 PM Milano, Autostazione Lampugnano | 11h05 | 6:30 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
FlixBus · FlixBus · FlixBus | 8:00 PM Milano, Milan Linate Airport | 17h30 | 1:30 PM Bari, Via Capruzzi (Terminal Bus Bari) | 2 transfers | |
FlixBus | 8:05 PM Milano, Autostazione Lampugnano | 11h30 | 7:35 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
039 | 8:05 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 10h25 | 6:30 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
2421 | 8:35 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 14h25 | 11:00 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
FlixBus | 8:50 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 10h45 | 7:35 AM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
FlixBus · FlixBus | 9:30 PM Milano, Autostazione Lampugnano | 15h15 | 12:45 PM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
3897 · 1103 | 9:30 PM Milano, Autostazione Lampugnano | 16h20 | 1:50 PM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
FlixBus · FlixBus | 10:10 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 14h35 | 12:45 PM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
FlixBus · FlixBus | 10:20 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 15h35 | 1:55 PM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
2495 · 1109 | 10:30 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 16h35 | 3:05 PM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
3825 · 1109 | 10:45 PM Milano, Autostazione Lampugnano | 16h20 | 3:05 PM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
3825 · 1109 | 11:30 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 15h35 | 3:05 PM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
| Sunday, February 15 | |||||
FlixBus | 6:15 AM Milano, Autostazione Lampugnano | 12h45 | 7:00 PM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
FlixBus | 7:05 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 11h55 | 7:00 PM Bari, Via Capruzzi (Terminal Bus Bari) | 0 transfersDirect | |
201 · 207 | 7:25 AM Milano, Autostazione Lampugnano | 12h15 | 7:40 PM Bari, Via Capruzzi (Terminal Bus Bari) | 1 transfer | |
201 · 207 | 8:10 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 11h30 | 7: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 prices and tickets Milan to Bari by train, bus, or flight
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.
Feb 14
Feb 15
Feb 16
Feb 17
Feb 18
Feb 19
Feb 20
Feb 21
Feb 22
Feb 23
Feb 24
Feb 25
Feb 26
Feb 27
Feb 28
Mar 01
Mar 02
Mar 03
Mar 04
Mar 05
Mar 06
Journey information
Overview: Bus from Milan to Bari
Buses from Milan to Bari run on average 27 times per day, taking around 11h 0m. Cheap bus tickets for this journey start at €15 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 786 km distance in 9h 45m.
Distance 786 km |
Average bus duration 11h 0m |
Cheapest ticket price €15 |
Buses per day 27 |
Direct buses 10 |
Fastest bus 9h 45m |
First bus 00:01 |
Last bus 23:55 |
Bus providers: Itabus, Marino Autolinee, FlixBus, BlaBlaCar from Milan to BariYou can travel by bus between Milan to Bari with Itabus, Marino Autolinee, FlixBus, BlaBlaCar for as low as €15. When you search for schedules and tickets, Omio will show you the best journey
Itabus
Marino Autolinee
FlixBus
BlaBlaCar
FAQs: Bus from Milan to Bari
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.

- Marino Autolinee
- Assistance
- Priority seating
- Accessible restrooms.
- FlixBus
- Assistance
- Priority boarding
- Wheelchair-accessible buses.
- Itabus
- Assistance
- Dedicated seating areas
- Accessible restrooms.
- Marino Autolinee
- You can cancel your ticket up to 24 hours before departure for a full refund. Cancellations within 24 hours incur a 50% fee.
- FlixBus
- You can cancel your ticket up to 15 minutes before departure and receive a voucher for future travel. Refund requests for delays over 120 minutes are possible.
- Itabus
- You can cancel your ticket up to 24 hours before departure for a partial refund. Changes allowed for a fee.
- Marino Autolinee
- One carry-on bag up to 10kg (55x40x20 cm) and one checked bag up to 20kg (80x50x30 cm).
- FlixBus
- One carry-on bag up to 7kg (42x30x18 cm) and one checked bag up to 20kg (80x50x30 cm).
- Itabus
- One carry-on bag up to 10kg and one checked bag up to 20kg.
- Marino Autolinee
- 10€ per additional bag up to 20 kg.
- FlixBus
- Additional luggage can be purchased for a fee.
- Itabus
- 5€ per additional bag.
- Marino Autolinee
- Small pets allowed in carriers
- larger pets must be leashed and muzzled.
- FlixBus
- Small pets in carriers allowed
- guide dogs travel for free.
- Itabus
- Small pets allowed in carriers
- larger pets must be leashed and muzzled.
popular bus stations
Popular bus stations from Milan to Bari
- 06:00-22:00
- Free Wi-Fi
- Cafeteria Italiana (in the station)
- Fast Food Express (in the station)
- Trattoria Milano (0.5 km).
- Available outside the station.
- Elevators, ramps
- Available in the station.
- Bus: 121, 132 Metro: M3
- 06:00-23:00
- Free Wi-Fi
- Cafeteria Lampugnano (in the station)
- Trattoria Milano (0.5 km)
- Pizza Express (0.7 km).
- Available outside the station.
- Elevators, ramps
- Available in the station.
- Metro: M1 Bus: 68, 78, 80
- Free Wi-Fi
- Available outside the station.
- Ramps
- Available in the station.
- Bus: 10, 12, 13 Train: FR1
- 05:00-23:00
- Free Wi-Fi
- Cafeteria Italiana (in the station)
- Fast Food Express (in the station)
- Trattoria del Corso (0.5 km).
- Available outside the main entrance.
- Elevators, ramps
- Available in the station.
- Bus: 10, 12, 13 Train: FR1, FR2
- 05:00-23:00
- Free Wi-Fi
- Available outside the arrivals terminal.
- Elevators, ramps
- Available in the station.
- Bus: 16, 33 Train: FR2
Most popular bus connections from Milan
More options for your journey from Milan to Bari
Here are some other resources that might have the information you need


