The cheapest and fastest trains from Bari to Milan
Cheapest price
$86
Average price
$146
Fastest journey
6 h 50 m
Average duration
7 h 5 m
Trains per day
45
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 traveling at rush hour.
The average ticket from Bari to Milan will cost around $146 if you buy it on the day, but the cheapest tickets can be found for only $86.
Of the 45 trains that leave Bari for Milan on Fri, Nov 07, 11 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Fri, Nov 07 the direct trains cover the 786 km distance in an average of 7 h 5 m but if you time it right, some trains will get you there in just 6 h 50 m .
On Fri, Nov 07 the slowest trains will take 7 h 20 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 758
InterCityNotte 752
InterCityNotte 754+
Regionale Veloce TTPER 2456
Intercity 612
Intercity 614
FRECCIAROSSA 9806
FRECCIAROSSA 8814
FRECCIAROSSA 8830
FRECCIAROSSA 8828 · FRECCIAROSSA 1000 9556
FRECCIAROSSA 8820 · FRECCIAROSSA 9540Travel Information
Compare train, bus, and flight for Bari to Milan
Omio recommends booking the bus as it is the most popular option from Bari to Milan 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 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 bus costs an average of €15, and a flight costs an average of €62.
Distance: 488 miles (786 km)
Compare train with
| Train | Most popular Bus | Flight |
|---|---|---|
€84 Average price | €48 Average price Cheapest | €167 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 tomorrow, Friday, November 7. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
Regionale 4300+ FRECCIAROSSA 1000 9620 | 3:15 AM Bari Centrale | 8h09 | 11:24 AM Milan Centrale | 1 transfer | |
Intercity 606+ 9940 | 4:50 AM Bari Centrale | 12h19 | 5:09 PM Milan Rogoredo | 1 transfer | |
Intercity 606+ 9932 | 4:50 AM Bari Centrale | 10h19 | 3:09 PM Milan Rogoredo | 1 transfer | |
Intercity 606+ 9948 | 4:50 AM Bari Centrale | 14h19 | 7:09 PM Milan Rogoredo | 1 transfer | |
Intercity 606 | 4:50 AM Bari Centrale | 9h40 | 2:30 PM Milan Centrale | 0 transfersDirect | |
FRECCIAROSSA 9806+ 9932 | 5:35 AM Bari Centrale | 9h34 | 3:09 PM Milan Rogoredo | 1 transfer | |
FRECCIAROSSA 9806+ 9924 | 5:35 AM Bari Centrale | 7h34 | 1:09 PM Milan Rogoredo | 1 transfer | |
FRECCIAROSSA 9806+ 9948 | 5:35 AM Bari Centrale | 13h34 | 7:09 PM Milan Rogoredo | 1 transfer | |
FRECCIAROSSA 9806 | On time 5:35 AM Bari Centrale | 6h50 | 12:25 PM Milan Centrale | 0 transfersDirect | |
9928 | 5:50 AM Bari Centrale | 8h30 | 2:20 PM Milan Centrale | 0 transfersDirect | |
FRECCIAROSSA 8814+ 9940 | 6:30 AM Bari Centrale | 10h39 | 5:09 PM Milan Rogoredo | 1 transfer | |
FRECCIAROSSA 8814+ 9932 | 6:30 AM Bari Centrale | 8h39 | 3:09 PM Milan Rogoredo | 1 transfer | |
FRECCIAROSSA 8814 | 6:30 AM Bari Centrale | 6h55 | 1:25 PM Milan Centrale | 0 transfersDirect | |
FRECCIAROSSA 8814+ 9948 | 6:30 AM Bari Centrale | 12h39 | 7:09 PM Milan Rogoredo | 1 transfer | |
FRECCIARGENTO 8302+ FRECCIAROSSA 1000 9632 | 6:40 AM Bari Centrale | 7h55 | 2:35 PM Milan Centrale | 1 transfer | |
Intercity 608+ 9958 | 7:06 AM Bari Centrale | 13h03 | 8:09 PM Milan Rogoredo | 1 transfer | |
Intercity 608+ 9948 | 7:06 AM Bari Centrale | 12h03 | 7:09 PM Milan Rogoredo | 1 transfer | |
Intercity 608 | 7:06 AM Bari Centrale | 9h39 | 4:45 PM Milan Centrale | 0 transfersDirect | |
Intercity 608+ 9940 | 7:06 AM Bari Centrale | 10h03 | 5:09 PM Milan Rogoredo | 1 transfer | |
FRECCIAROSSA 8816+ 9932 | 7:30 AM Bari Centrale | 7h39 | 3:09 PM Milan Rogoredo | 1 transfer | |
FRECCIAROSSA 8816+ 9940 | 7:30 AM Bari Centrale | 9h39 | 5:09 PM Milan Rogoredo | 1 transfer | |
FRECCIAROSSA 8816+ 9948 | 7:30 AM Bari Centrale | 11h39 | 7:09 PM Milan Rogoredo | 1 transfer | |
Intercity 610+ Regionale TRENORD 2642 | 8:55 AM Bari Centrale | 10h43 | 7:38 PM Milan Centrale | 1 transfer | |
Intercity 610+ 9958 | 8:55 AM Bari Centrale | 11h14 | 8:09 PM Milan Rogoredo | 1 transfer | |
Intercity 610+ 9954 | 8:55 AM Bari Centrale | 12h14 | 9:09 PM Milan Rogoredo | 1 transfer | |
Intercity 610+ 9948 | 8:55 AM Bari Centrale | 10h14 | 7:09 PM Milan Rogoredo | 1 transfer | |
FRECCIAROSSA 8820+ 9940 | 9:30 AM Bari Centrale | 7h39 | 5:09 PM Milan Rogoredo | 1 transfer | |
FRECCIAROSSA 8820+ 9958 | 9:30 AM Bari Centrale | 10h39 | 8:09 PM Milan Rogoredo | 1 transfer | |
FRECCIAROSSA 8820 | 9:30 AM Bari Centrale | 7h40 | 5:10 PM Milan Centrale | 0 transfersDirect | |
FRECCIAROSSA 8820 · FRECCIAROSSA 9540 | 9:30 AM Bari Centrale | 7h20 | 4:50 PM Milan Centrale | 1 transfer | |
FRECCIAROSSA 8820+ 9948 | 9:30 AM Bari Centrale | 9h39 | 7:09 PM Milan Rogoredo | 1 transfer | |
Intercity 612 | 10:55 AM Bari Centrale | 9h45 | 8:40 PM Milan Centrale | 0 transfersDirect | |
Intercity 612+ 9954 | 10:55 AM Bari Centrale | 10h14 | 9:09 PM Milan Rogoredo | 1 transfer | |
Intercity 612+ 9962 | 10:55 AM Bari Centrale | 12h14 | 11:09 PM Milan Rogoredo | 1 transfer | |
Intercity 612+ 9958 | 10:55 AM Bari Centrale | 9h14 | 8:09 PM Milan Rogoredo | 1 transfer | |
Intercity 614 | 12:55 PM Bari Centrale | 9h50 | 10:45 PM Milan Centrale | 0 transfersDirect | |
Intercity 614+ 9962 | 12:55 PM Bari Centrale | 10h14 | 11:09 PM Milan Rogoredo | 1 transfer | |
FRECCIAROSSA 8828+ 9954 | 1:30 PM Bari Centrale | 7h39 | 9:09 PM Milan Rogoredo | 1 transfer | |
FRECCIAROSSA 8828 · FRECCIAROSSA 1000 9556 | 1:30 PM Bari Centrale | 7h20 | 8:50 PM Milan Centrale | 1 transfer | |
FRECCIAROSSA 8828+ 9962 | 1:30 PM Bari Centrale | 9h39 | 11:09 PM Milan Rogoredo | 1 transfer | |
FRECCIAROSSA 8830 | 3:30 PM Bari Centrale | 7h00 | 10:30 PM Milan Centrale | 0 transfersDirect | |
FRECCIAROSSA 8830+ 9962 | 3:30 PM Bari Centrale | 7h39 | 11:09 PM Milan Rogoredo | 1 transfer | |
InterCityNotte 758 | 8:28 PM Bari Centrale | 9h37 | 6:05 AM Milan Centrale | 0 transfersDirect | |
InterCityNotte 752 | 8:45 PM Bari Centrale | 9h32 | 6:17 AM Milan Centrale | 0 transfersDirect | |
InterCityNotte 754+ Regionale Veloce TTPER 2456 | On time 9:10 PM Bari Centrale | 9h51 | 7:01 AM Milan Rogoredo | 1 transfer | |
Find all the dates and times for this journey
Compare prices and tickets Bari to Milan 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.
Nov 07
Nov 08
Nov 09
Nov 10
Nov 11
Nov 12
Nov 13
Nov 14
Nov 15
Nov 16
Nov 17
Nov 18
Nov 19
Nov 20
Nov 21
Nov 22
Nov 23
Nov 24
Nov 25
Nov 26
Nov 27
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 (€47) but you can travel from only $18 (€15) by bus.
There are 13 trains per day. The earliest train runs at 00:01, the last at 23:45. The fastest train covers the 488 miles (786 km) distance in 7h 0m.
Distance 488 miles (786 km) |
Average train duration 8h 14m |
Cheapest ticket price $58 (€47) |
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 $18 (€15). 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
Traveling by train from Bari to Milan
Traveling between Bari and Milan is a seamless experience thanks to several efficient train services. You can choose from Intercity Notte, Frecciarossa, and Intercity trains that connect these two cities. With comfortable seating and various amenities on board, your journey will be both enjoyable and convenient as you traverse the beautiful Italian landscape.
Train Connection: Bari to Milan
The train connection from Bari to Milan takes approximately 7 hours and 20 minutes. There are up to 10 connections available each day, all of which are direct services. Passengers will depart from Bari Centrale and arrive at Milano Centrale, Milano Porta Garibaldi, or Milano Rogoredo.
Bari to Milan Train Connection
The first daily train from Bari to Milan departs at 08:30, providing an early start for travelers looking to explore the vibrant culture and attractions of these two cities. The last journey of the day leaves at 21:10, allowing visitors ample time to enjoy their evening in either city before heading back on this convenient rail connection.
Train Tickets Price for Bari and Milan
The cheapest ticket price for the train connection between Bari and Milan is €47. The average ticket price typically hovers around €72, providing travelers with a range of options to suit their budget.
Exploring Milan: A Journey Through History and Culture
Welcome to the magnificent Milan Cathedral, or Duomo di Milano, a stunning example of Gothic architecture that took nearly six centuries to complete. Its intricate façade and towering spires not only symbolize Milan's rich history but also serve as a testament to the city's artistic ambition during the Renaissance period. As you step inside, be sure to admire its breathtaking stained glass windows and the iconic golden Madonnina statue perched atop the cathedral.
Next, we’ll stroll through Galleria Vittorio Emanuele II, one of the world's oldest shopping malls that opened in 1867. This architectural marvel features an elegant glass dome and mosaic floors that reflect both luxury and Italian craftsmanship at its finest; it’s no wonder this landmark has become a social hub for locals and tourists alike. Don’t forget to spin on your heel three times over Italy’s map embedded in the floor—it's said to bring good luck!
Finally, let me introduce you to Sforza Castle (Castello Sforzesco), which dates back to the 15th century when it was built by Francesco Sforza as a fortress for his family. Today, this imposing structure houses several museums showcasing art from Michelangelo's last sculpture "Pietà Rondanini" to ancient artifacts—a true treasure trove for culture enthusiasts! As we explore its vast courtyards surrounded by lush gardens, imagine how this castle once served as both military stronghold and royal residence in Milan's storied past.
FAQs: Trains from Bari to Milan
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.

popular train stations
Popular train stations from Bari to Milan
- Ramps, restrooms.
- Bus: Autoservizi Borman operates a bus from Bari - Via Guglielmo Oberdan to Bari Capruzzi
- 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.
- 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
- 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
- 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
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- Parking is available nearby, with access from Viale Romolo.
- Outside the main entrance.
- Ramps.
- €0.50
- BAM House
- Olona11
- 150 places, covered
- Located near the entrance
- Free
- Hall 1: entrance and ticket machines
- Hall 2: platforms for Line 2
- Metro: Line 2
- Bus: Several lines available
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- Parking is available near the station, with access from Via Roberto Cozzi.
- Ristorante Greco
- Osteria della Stazione
- Outside the main entrance.
- €1
- Hotel Greco
- Hotel Gala
- Novotel Milano Nord Ca Granda
- Located in the main hall
- Located in the main hall
- Free
- Hall 1: main entrance, platform 1-5 for trains to regional and suburban destinations
- Metro: Line M5
- Bus: Several lines available
- Tram: Line 7
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- Parking is available near the station, accessible from Viale Certosa.
- Burger King
- Ristorante Pizzeria La Certosa
- Outside the main entrance.
- Ramps, restrooms.
- €1
- Hotel Raffaello
- Hotel Mirage
- Klima Hotel Milano Fiere
- Located near the main entrance
- Free
- Bus: Several lines available
- Tram: Line 14
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- Parking is available near the station with several parking lots in the vicinity.
- Trattoria Casa Fontana
- Osteria del Treno
- Outside the main entrance.
- Elevators, ramps, restrooms.
- €1
- Hotel Sunflower
- Hotel Valganna
- Hotel Ares Milano
- Located in the main hall
- Located in the main hall
- Free
- Hall 1: main entrance, platform 1-4 for regional and suburban trains
- Hall 2: ticket office and waiting area
- Metro: Line M3
- Bus: Lines 82, 92
- Tram: Line 2
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- The car park is open 7 days a week from 6:00 a.m. to 11:00 p.m. Access is available via Viale Regina Giovanna.
- Ristorante Pizzeria Maruzzella
- Osteria del Treno
- Outside the main entrance.
- Ramps.
- €1
- Hotel Sanpi Milano
- Worldhotel Cristoforo Colombo
- Hotel Fenice
- Located in the main hall
- Located in the main hall
- Free
- Hall 1: main entrance, platform 1-2 for regional trains
- Hall 2: metro connections
- Metro: Line M1
- Tram: Line 5, Line 9
- Bus: Several lines available
- Ristorante Al Vecchio Porco
- Osteria dei Vecchi Sapori
- Outside the main entrance.
- Free of charge
- Radisson Blu Hotel Milan
- Hotel Sunflower
- Hotel Berlino
- Free
- Tram: Line 12
- Bus: Several lines available
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- Parking is available near the station with access from Via Rombon.
- Ristorante Pizzeria Il Girasole
- Osteria Lambrate
- Outside the main entrance.
- Elevators, ramps.
- €1
- MEININGER Milano Lambrate
- Hotel Gamma
- Hotel Lugano
- Located in the main hall
- Avis
- Europcar
- Located in the main hall
- Free
- Hall 1: main entrance, platform 1-7 for trains to various destinations
- Hall 2: Metro connections
- Metro: Line M2
- Bus: Several lines available
- Tram: Line 19
- 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
- 6:00 AM - 8:00 PM Monday - Sunday
- Parking is available near the station, accessible from Viale Enrico Forlanini.
- Outside the main entrance.
- Elevators, ramps.
- €1
- Hotel Mistral
- Hotel Molise 2
- Hotel Del Sud
- Free
- The station is a single-level structure with two platforms serving suburban and regional trains.
- Tram: Line 27
- Bus: Several lines available including Line 73 to Linate Airport
- Train: S9 suburban line
More options for your journey from Bari to Milan
Here are some other resources that might have the information you need




