The cheapest and fastest trains from Bari to Milan
Cheapest price
$94
Average price
$202
Fastest journey
7 h 55 m
Average duration
8 h 5 m
Trains per day
33
Distance
786 km
The best way to find a cheap train 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 $202 if you buy it on the day, but you can find cheap train tickets today for only $94.
Of the 33 trains that leave Bari for Milan every day 2 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct trains cover the 786 km distance in an average of 8 h 5 m but if you time it right, some trains will get you there in just 7 h 55 m .
The slowest trains will take 8 h 18 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.
InterCityNotte 752
Intercity 802+
BUS L802A+
Intercity 608
Intercity 808+
BUS LP808+
Intercity 614
Intercity 804+
BUS L804A+
Intercity 612
InterCityNotte 752+
FRECCIAROSSA 1000 9508
FRECCIARGENTO 8302+
FRECCIAROSSA 1000 9632
FRECCIARGENTO 8314+
FRECCIAROSSA 1000 9652
FRECCIARGENTO 8348+
FRECCIAROSSA 1000 9626
Regionale 4300+
FRECCIAROSSA 1000 9620
FRECCIAROSSA 8306 · FRECCIAROSSA 1000 9638Travel 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 $19. 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 $19, and a flight costs an average of $77.
Distance: 786 km
Compare train with
| Train | Most popular Coach | Flight |
|---|---|---|
$104 Average Price | $60 Average Price Cheapest | $207 Average Price |
8h 44m Average total duration 8h 14m Onboard + 30m Additional time* | 11h 34m Average total duration 11h 4m Onboard + 30m Additional time* | 4h 35m Average total duration Fastest 1h 35m Onboard + 3h 0m Additional time* |
0.2 - 0.7kg CO2 emissions Lowest | 0.8 - 2.0kg CO2 emissions | - CO2 emissions |
![]() Most popular train company | ![]() Most popular bus 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 train times
The table below shows live departures for Bari to Milan trains for today, Thursday, 15 January. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
FRECCIAROSSA 8306 · FRECCIAROSSA 1000 9638+ 9958 | 7:40 am Bari Centrale | 12h29 | 8:09 pm Milan Rogoredo | 2 changes | |
FRECCIAROSSA 8306 · FRECCIAROSSA 1000 9638 | 7:40 am Bari Centrale | 8h18 | 3:58 pm Milan Centrale | 1 change | |
FRECCIAROSSA 8306 · FRECCIAROSSA 1000 9638+ 9954 | 7:40 am Bari Centrale | 13h29 | 9:09 pm Milan Rogoredo | 2 changes | |
FRECCIAROSSA 8306 · FRECCIAROSSA 1000 9638+ 9948 | 7:40 am Bari Centrale | 11h29 | 7:09 pm Milan Rogoredo | 2 changes | |
Intercity 804+ BUS L804A+ Intercity 612+ 9962 | 9:26 am Bari Centrale | 13h43 | 11:09 pm Milan Rogoredo | 3 changes | |
Intercity 804+ BUS L804A+ Intercity 612+ 9954 | 9:26 am Bari Centrale | 11h43 | 9:09 pm Milan Rogoredo | 3 changes | |
Intercity 804+ BUS L804A+ Intercity 612+ 9958 | 9:26 am Bari Centrale | 10h43 | 8:09 pm Milan Rogoredo | 3 changes | |
Intercity 804+ BUS L804A+ Intercity 612 | 9:26 am Bari Centrale | 11h14 | 8:40 pm Milan Centrale | 2 changes | |
Intercity 808+ BUS LP808+ Intercity 614 | 11:19 am Bari Centrale | 11h31 | 10:50 pm Milan Porta Garibaldi | 2 changes | |
Intercity 808+ BUS LP808+ Intercity 614+ 9962 | 11:19 am Bari Centrale | 11h50 | 11:09 pm Milan Rogoredo | 3 changes | |
FRECCIARGENTO 8314+ FRECCIAROSSA 1000 9652+ 9962 | 11:35 am Bari Centrale | 11h34 | 11:09 pm Milan Rogoredo | 2 changes | |
FRECCIARGENTO 8314+ FRECCIAROSSA 1000 9652+ 9954 | 11:35 am Bari Centrale | 9h34 | 9:09 pm Milan Rogoredo | 2 changes | |
FRECCIARGENTO 8314+ FRECCIAROSSA 1000 9652+ 9958 | 11:35 am Bari Centrale | 8h34 | 8:09 pm Milan Rogoredo | 2 changes | |
FRECCIARGENTO 8314+ FRECCIAROSSA 1000 9652 | 11:35 am Bari Centrale | 7h55 | 7:30 pm Milan Centrale | 1 change | |
InterCityNotte 752+ FRECCIAROSSA 1000 9508 | 8:42 pm Bari Centrale | 12h08 | 8:50 am Milan Centrale | 1 change | |
InterCityNotte 752 | 8:42 pm Bari Centrale | 12h45 | 9:27 am Milan Centrale | 0 changesdirect | |
InterCityNotte 754+ FRECCIAROSSA 1000 9608 | 9:10 pm Bari Centrale | 11h50 | 9:00 am Milan Centrale | 1 change | |
InterCityNotte 754+ Intercity 580 | 9:10 pm Bari Centrale | 14h05 | 11:15 am Milan Centrale | 1 change | |
| Friday, 16 January | |||||
Regionale 4300+ FRECCIAROSSA 1000 9620 · FRECCIAROSSA 1000 9622+ 9940 | 3:15 am Bari Centrale | 13h54 | 5:09 pm Milan Rogoredo | 3 changes | |
Regionale 4300+ FRECCIAROSSA 1000 9620 · FRECCIAROSSA 1000 9622+ 9924 | 3:15 am Bari Centrale | 9h54 | 1:09 pm Milan Rogoredo | 3 changes | |
Regionale 4300+ FRECCIAROSSA 1000 9620 | 3:15 am Bari Centrale | 8h09 | 11:24 am Milan Centrale | 1 change | |
Regionale 4300+ FRECCIAROSSA 1000 9620 · FRECCIAROSSA 1000 9622+ 9932 | 3:15 am Bari Centrale | 11h54 | 3:09 pm Milan Rogoredo | 3 changes | |
FRECCIARGENTO 8348+ FRECCIAROSSA 1000 9626+ 9940 | 4:50 am Bari Centrale | 12h19 | 5:09 pm Milan Rogoredo | 2 changes | |
FRECCIARGENTO 8348+ FRECCIAROSSA 1000 9626+ 9946 | 4:50 am Bari Centrale | 13h19 | 6:09 pm Milan Rogoredo | 2 changes | |
FRECCIARGENTO 8348+ FRECCIAROSSA 1000 9626 | 4:50 am Bari Centrale | 8h08 | 12:58 pm Milan Centrale | 1 change | |
FRECCIARGENTO 8348+ FRECCIAROSSA 1000 9626+ 9932 | 4:50 am Bari Centrale | 10h19 | 3:09 pm Milan Rogoredo | 2 changes | |
Intercity 802+ BUS L802A+ Intercity 608 | 5:22 am Bari Centrale | 11h23 | 4:45 pm Milan Centrale | 2 changes | |
Intercity 802+ BUS L802A+ Intercity 608+ 9946 | 5:22 am Bari Centrale | 12h47 | 6:09 pm Milan Rogoredo | 3 changes | |
Intercity 802+ BUS L802A+ Intercity 608+ 9940 | 5:22 am Bari Centrale | 11h47 | 5:09 pm Milan Rogoredo | 3 changes | |
Intercity 802+ BUS L802A+ Intercity 608+ 9948 | 5:22 am Bari Centrale | 13h47 | 7:09 pm Milan Rogoredo | 3 changes | |
9928 | On time 5:50 am Bari Centrale | 8h30 | 2:20 pm Milan Centrale | 0 changesdirect | |
FRECCIARGENTO 8302+ FRECCIAROSSA 1000 9632+ 9932 | 6:40 am Bari Centrale | 8h29 | 3:09 pm Milan Rogoredo | 2 changes | |
FRECCIARGENTO 8302+ FRECCIAROSSA 1000 9632+ 9940 | 6:40 am Bari Centrale | 10h29 | 5:09 pm Milan Rogoredo | 2 changes | |
FRECCIARGENTO 8302+ FRECCIAROSSA 1000 9632+ 9946 | 6:40 am Bari Centrale | 11h29 | 6:09 pm Milan Rogoredo | 2 changes | |
FRECCIARGENTO 8302+ FRECCIAROSSA 1000 9632 | 6:40 am Bari Centrale | 7h55 | 2:35 pm Milan Centrale | 1 change | |
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.
16 Jan
17 Jan
18 Jan
19 Jan
20 Jan
21 Jan
22 Jan
23 Jan
24 Jan
25 Jan
26 Jan
27 Jan
28 Jan
29 Jan
30 Jan
31 Jan
01 Feb
02 Feb
03 Feb
04 Feb
05 Feb
How far in advance should I book train tickets from Bari to Milan?
Journey information
Overview: Train from Bari to Milan
Trains from Bari to Milan run on average 22 times per day, taking around 8h 14m. Cheap train tickets for this journey start at $58 but you can travel from only $19 by coach.
There are 13 trains per day. The earliest train runs at 00:01, the last at 23:45. The fastest train covers the 786 km distance in 7h 0m.
Distance 786 km |
Average train duration 8h 14m |
Cheapest ticket price $58 |
Trains per day 22 |
Direct trains 13 |
Fastest train 7h 0m |
First train 00:01 |
Last train 23:45 |
Train companies: Intercity Notte, Frecciarossa, Intercity, Italo, Frecciargento, Trenitalia from Bari to Milan trainsIntercity Notte, Frecciarossa, Intercity, Italo, Frecciargento, Trenitalia trains will get you between Bari and Milan from $19. With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Intercity Notte
Frecciarossa
Intercity
Italo
Frecciargento
Trenitalia
FAQs: Bari to Milan train
Find answers to the most common questions about traveling from Bari to Milan by train. 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 train, the cheapest option, or tips for making the most of your visit at Milan, this guide helps you travel smarter and with confidence.

Passengers board the train most frequently from Bari Centrale, which is located around away from the city centre, and they get off the train at Milan Centrale, located away from the city centre.
popular train stations
Important Stations and Airports in Bari and Milan
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- The car park is open 7 days a week. Access is available from Piazza Aldo Moro.
- Ristorante Pizzeria Piccinni
- La Tana Del Polpo
- Outside the main entrance.
- Ramps.
- €1
- Hotel Excelsior Bari
- Grand Hotel Leon d'Oro
- Hotel Adria
- Located in the main hall
- Hertz
- Located in the main hall
- Free
- Hall 1: main entrance, platform 1-8 for regional and high-speed trains
- Hall 2: platforms 9-16 for long-distance and international trains
- Metro: Line FM1
- Bus: Several lines available
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- The car park is open 7 days a week from 5:00 a.m. to 1:00 a.m. Departures can be made outside of opening hours. You can access the car park at Via Capruzzi.
- Ristorante La Cecchina
- La Tana dei Lupi
- Outside the main entrance.
- €1
- Hotel Excelsior Bari
- Grand Hotel Leon d'Oro
- Hotel Adria
- Located in the main hall
- Located in the main hall
- Avis
- Europcar
- Hertz
- Located in the main hall
- Free
- Hall 1: main entrance, platform 1-8 for regional and long-distance trains
- Hall 2: local and suburban train platforms
- Metro: Line FM1
- Bus: Several lines available
- Free parking available near the station
- Outside the main entrance.
- Ramps, restrooms.
- Free of charge
- The station has a simple layout with two platforms serving regional trains.
- Bus: Local bus services connect the station with Bari city center and surrounding areas.
- Mon - Sun: 05:50 - 22:20
- Free WiFi in the station.
- Provided by KiPoint and located on the ground floor, on the side of Piazza Luigi di Savoia. It is open every day from 06:00 to 23:00.
- Venchi
- Panzera Coffee
- Burger King
- Bar Motta
- Caffè Napoli
- VyTA Boulangerie
- Spontini
- Starbucks
- Dispensa Emilia
- McDonald's
- & many more
- Station is wheelchair accessible, has elevators and the Sala Blu, Trenitalia's office of assistance for disabled travelers, is next to Platform 4.
- Glam Hotel Milano
- NYX MIlan
- iQ Hotel Milano
- Mon - Sun: 05:50 - 22:20
- Located next to the ticket office on the ground floor in the shopping gallery.
- Metro lines: M2 (green), M3 (yellow)
- Tram lines: 1
- Bus lines: 5, 9, 10, 42, 81, 87, 152, 728, N26, NM2, NM3, Air Bus, Orio Shuttle
- Train lines: FR, FB, EC, Thello, XP2, R28, IC, ICN, RV, R, Regio, Italo
- Free Wi-Fi in the station.
- Caffeteria Panni Caldi
- Princi
- Burgez
- Bricco Café
- U! Come tu mi vuoi
- Autogrill
- Culto
- Accessible facilities such as ticket machines, toilets, and ramps and additional assistance as needed from 07:45 to 22:30.
- Hotel NH Milano Palazzo Moscova
- AC Hotel by Marriott Milano
- Tocq Hotel
- Metro lines: M2, M5
- Bus lines: 43, 56, 70, 94
- Train lines: R21, R31, S1, S11, S2, S5, S7, S8
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- The car park is open 7 days a week, 24 hours a day. Access is available from Via G Battista Cassinis.
- Ristorante Pizzeria Il Moro
- Osteria La Piola
- Outside the main entrance.
- Elevators, ramps.
- €1
- Starhotels Business Palace
- Hotel Mistral
- Hotel Brenta Milano
- Located in the main hall
- Avis
- Located in the main hall
- Free
- Hall 1: main entrance, platforms 1-8 for trains to various destinations
- Hall 2: metro connections
- Metro: Line M3
- Bus: Several lines available
- Train: Regional and high-speed services
More options for your journey from Bari to Milan
Here are some other resources that might have the information you need



