The cheapest and fastest coaches from Bari to Milan
Cheapest price
£38
Average price
£60
Fastest journey
8 h 50 m
Average duration
10 h 26 m
Buses per day
32
Distance
786 km
The best way to find a cheap coach ticket from Bari to Milan is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Bari to Milan will cost around £60 if you buy it on the day, but you can find cheap coach tickets today for only £38.
Of the 32 buses that leave Bari for Milan every day 12 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct buses cover the 786 km distance in an average of 10 h 26 m but if you time it right, some buses will get you there in just 8 h 50 m .
The slowest buses will take 11 h 10 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.
101
101
2214
2422
2214
101
040
FlixBus
101Travel Information
Compare train, coach and flight for Bari to Milan
Omio recommends booking the coach as it is the most popular option from Bari to Milan among Omio's users. If you are prioritising price take the coach with prices starting from £14. 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 coach costs an average of £14, and a flight costs an average of £18.
Distance: 786 km
Compare bus with
Most popular Coach | Train | Flight |
|---|---|---|
£31 Average Price Cheapest | £65 Average Price | £94 Average Price |
10h 55m Average total duration 10h 25m Onboard + 30m Additional time* | 10h 6m Average total duration 9h 36m Onboard + 30m Additional time* | 4h 35m Average total duration Fastest 1h 35m 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
Bari to Milan bus times
The table below shows live departures for Bari to Milan coaches for today, Saturday 28 February. You can also manually refresh the results below to see updated coach journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
1106 · 3492 | 23:05 Bari, Via Capruzzi (Terminal Bus Bari) | 14h40 | 13:45 Milano, Autostazione Lampugnano | 1 change | |
1106 · 2126 | 23:05 Bari, Via Capruzzi (Terminal Bus Bari) | 16h35 | 15:40 Milano, Autostazione Lampugnano | 1 change | |
| Sunday 1 March | |||||
1108 · 3802 | 00:05 Bari, Via Capruzzi (Terminal Bus Bari) | 16h05 | 16:10 Milano, Autostazione Lampugnano | 1 change | |
1108 · 2126 | 00:05 Bari, Via Capruzzi (Terminal Bus Bari) | 15h35 | 15:40 Milano, Autostazione Lampugnano | 1 change | |
FlixBus · FlixBus | 00:45 Bari, Via Capruzzi (Terminal Bus Bari) | 15h30 | 16:15 Milano, Autostazione Lampugnano | 1 change | |
FlixBus · FlixBus · FlixBus | 00:45 Bari, Via Capruzzi (Terminal Bus Bari) | 19h10 | 19:55 Milano, Milan Linate Airport | 2 changes | |
206 · 200 | 06:15 Bari, Via Capruzzi (Terminal Bus Bari) | 11h25 | 17:40 Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 change | |
206 · 200 | 06:15 Bari, Via Capruzzi (Terminal Bus Bari) | 12h10 | 18:25 Milano, Autostazione Lampugnano | 1 change | |
1120 · 2490 | 06:20 Bari, Via Capruzzi (Terminal Bus Bari) | 16h29 | 22:49 Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 change | |
FlixBus | 06:35 Bari, Via Capruzzi (Terminal Bus Bari) | 13h10 | 19:45 Milano, Autostazione Lampugnano | 0 changesdirect | |
FlixBus | 06:35 Bari, Via Capruzzi (Terminal Bus Bari) | 12h20 | 18:55 Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 changesdirect | |
FlixBus · FlixBus · FlixBus | 10:35 Bari, Via Capruzzi (Terminal Bus Bari) | 22h30 | 09:05 Milano, Milan Linate Airport | 2 changes | |
FlixBus · FlixBus | 12:15 Bari, Via Capruzzi (Terminal Bus Bari) | 14h45 | 03:00 Milano, Autostazione Lampugnano | 1 change | |
1104 · 3898 | 12:45 Bari, Via Capruzzi (Terminal Bus Bari) | 16h25 | 05:10 Milano, Autostazione Lampugnano | 1 change | |
FlixBus · FlixBus | 13:15 Bari, Aeroporto di Bari-Karol Wojtyła | 18h40 | 07:55 Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 change | |
FlixBus · FlixBus | 13:15 Bari, Aeroporto di Bari-Karol Wojtyła | 19h15 | 08:30 Milano, Autostazione Lampugnano | 1 change | |
1110 · 2418 | 15:30 Bari, Via Capruzzi (Terminal Bus Bari) | 15h40 | 07:10 Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 change | |
FlixBus · FlixBus | 15:50 Bari, Via Capruzzi (Terminal Bus Bari) | 14h30 | 06:20 Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 change | |
FlixBus · FlixBus | 15:50 Bari, Via Capruzzi (Terminal Bus Bari) | 15h15 | 07:05 Milano, Autostazione Lampugnano | 1 change | |
2422 | 16:40 Bari, Via Capruzzi (Terminal Bus Bari) | 14h00 | 06:40 Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 changesdirect | |
FlixBus · FlixBus · FlixBus | 17:00 Bari, Via Capruzzi (Terminal Bus Bari) | 17h55 | 10:55 Milano, Milan Linate Airport | 2 changes | |
040 | 18:35 Bari, Via Capruzzi (Terminal Bus Bari) | 10h50 | 05:25 Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 changesdirect | |
040 | 18:35 Bari, Via Capruzzi (Terminal Bus Bari) | 11h25 | 06:00 Milano, Autostazione Lampugnano | 0 changesdirect | |
2214 | 19:20 Bari, Via Capruzzi (Terminal Bus Bari) | 11h15 | 06:35 Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 changesdirect | |
2214 | 19:20 Bari, Via Capruzzi (Terminal Bus Bari) | 12h00 | 07:20 Milano, Autostazione Lampugnano | 0 changesdirect | |
FlixBus | 19:35 Bari, Via Capruzzi (Terminal Bus Bari) | 11h35 | 07:10 Milano, Autostazione Lampugnano | 0 changesdirect | |
FlixBus | 19:35 Bari, Via Capruzzi (Terminal Bus Bari) | 10h50 | 06:25 Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 changesdirect | |
FlixBus · FlixBus | 20:55 Bari, Via Capruzzi (Terminal Bus Bari) | 14h25 | 11:20 Milano, Autostazione Lampugnano | 1 change | |
FlixBus · FlixBus · FlixBus | 20:55 Bari, Via Capruzzi (Terminal Bus Bari) | 23h00 | 19:55 Milano, Milan Linate Airport | 2 changes | |
101 | 22:10 Bari, Via Capruzzi (Terminal Bus Bari) | 10h30 | 08:40 Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 changesdirect | |
101 | 22:10 Bari, Via Capruzzi (Terminal Bus Bari) | 11h10 | 09:20 Milano, Autostazione Lampugnano | 0 changesdirect | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Bari to Milan by train, coach or flight
Compare train, coach 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.
01 Mar
02 Mar
03 Mar
04 Mar
05 Mar
06 Mar
07 Mar
08 Mar
09 Mar
10 Mar
11 Mar
12 Mar
13 Mar
14 Mar
15 Mar
16 Mar
17 Mar
18 Mar
19 Mar
20 Mar
21 Mar
Why should you book Bari to Milan coaches with Omio?
Why book with Omio vs Itabus?
- Compare with other providers: On Omio, you can not only buy tickets for Itabus, but also compare tickets for the likes of Marino Autolinee or FlixBus to find the best option for your trip from Bari to Milan.
- Designed for International Travelers: Omio is in your language including 24/7 customer service and offers multiple payment options, including PayPal, credit cards, and bank transfer, in your preferred currency.
- Compare all your options: Omio allows you to compare Itabus with all available travel options, which are train, bus and flight to ensure you get the best deal for traveling from Bari to Milan.
Why book with Omio over Checkmybus, Wanderu or Trainline?
- Compare with other providers: On Omio, you can also compare tickets for the likes of Marino Autolinee or FlixBus to find the best option for your trip from Bari to Milan.
- Multiple modes of transport: Omio allows you to compare travel options including train, bus and flight to find the ideal travel option from Bari to Milan.
Journey information
Overview: Bus from Bari to Milan
Buses from Bari to Milan run on average 25 times per day, taking around 10h 25m. Cheap bus tickets for this journey start at £14 if you book in advance.
There are 10 coaches per day. The earliest coach runs at 00:01, the last at 23:55. The fastest coach covers the 786 km distance in 10h 30m.
Distance 786 km |
Average bus duration 10h 25m |
Cheapest ticket price £14 |
Buses per day 25 |
Direct buses 10 |
Fastest bus 10h 30m |
First bus 00:01 |
Last bus 23:55 |
Bus providers: Itabus, Marino Autolinee, FlixBus, BlaBlaCar from Bari to MilanYou can travel by bus between Bari to Milan with Itabus, Marino Autolinee, FlixBus, BlaBlaCar for as low as £14. When you search for schedules and tickets, Omio will show you the best journey
Itabus
Marino Autolinee
FlixBus
BlaBlaCar
FAQs: Bari to Milan coach
Find answers to the most common questions about traveling from Bari to Milan by coach. 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 coach, the cheapest option, or tips for making the most of your visit at Milan, 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
Important Stations and Airports in Bari and Milan
- 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
- 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
- Available outside the arrivals terminal.
- Elevators, ramps
- Available in the station.
- Bus: 16, 33 Train: FR2
- 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
- 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
Most popular bus connections from Bari
More options for your journey from Bari to Milan
Here are some other resources that might have the information you need


