The cheapest and fastest trains from Milan to Bergamo
Cheapest price
£5
Average price
£5
Fastest journey
48 m
Average duration
48 m
Trains per day
72
Distance
45 km
The best way to find a cheap train ticket from Milan to Bergamo is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Milan to Bergamo will cost around £5 if you buy it on the day, but you can find cheap train tickets today for only £5.
Of the 72 trains that leave Milan for Bergamo every day 19 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct trains cover the 45 km distance in an average of 48 m but if you time it right, some trains will get you there in just 48 m .
The slowest trains will take 48 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.
Regionale TRENORD 25843 · Autobus TRENORD 43A
Regionale TRENORD 25851 · Autobus TRENORD 51A
Regionale TRENORD 25843 · Autobus TRENORD 43A
Regionale TRENORD 25819 · Autobus TRENORD 19A
Regionale TRENORD 25855 · Autobus TRENORD 55A
Regionale TRENORD 2219
Regionale TRENORD 2213
Regionale TRENORD 2227
Regionale TRENORD 2229
Regionale TRENORD 2223Travel Information
Compare coach and train for Milan to Bergamo
Omio recommends booking the train as it is the most popular option from Milan to Bergamo among Omio's users. If you are prioritising price take the train with prices starting from £5. For those with little time consider booking a train which can get you there in 58m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.0 - 0.0kg. The ticket price range depends on the travel mode: a train costs an average of £5, and a coach costs an average of £1.
Distance: 45 km
Compare train with
Most popular Train | Coach |
|---|---|
£5 Average Price Cheapest | £6 Average Price |
1h 28m Average total duration Fastest 58m Onboard + 30m Additional time* | 1h 29m Average total duration 59m Onboard + 30m Additional time* |
0.0 - 0.0kg CO2 emissions Lowest | 0.0 - 0.1kg CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company |
Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Live departures
Milan to Bergamo train times
The table below shows live departures for Milan to Bergamo trains for today, Saturday 28 February. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
Regionale TRENORD 2229 | 13:05 Milan Centrale | 0h48 | 13:53 Bergamo station | 0 changesdirect | |
Regionale TRENORD 2629 · Regionale TRENORD 22655 | 13:25 Milan Centrale | 1h12 | 14:37 Bergamo station | 1 change | |
Regionale TRENORD 25851 · Autobus TRENORD 51A | 13:31 Milan Porta Garibaldi | 1h32 | 15:03 Bergamo station | 1 change | |
Regionale TRENORD 25851 · Autobus TRENORD 51A | 13:31 Milan Porta Garibaldi | 1h10 | 14:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 2231 | 14:05 Milan Centrale | 0h48 | 14:53 Bergamo station | 0 changesdirect | |
Regionale TRENORD 2631 · Regionale TRENORD 22659 | 14:25 Milan Centrale | 1h12 | 15:37 Bergamo station | 1 change | |
Regionale TRENORD 25855 · Autobus TRENORD 55A | 14:31 Milan Porta Garibaldi | 1h10 | 15:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 25855 · Autobus TRENORD 55A | 14:31 Milan Porta Garibaldi | 1h32 | 16:03 Bergamo station | 1 change | |
Regionale TRENORD 2233 | 15:05 Milan Centrale | 0h48 | 15:53 Bergamo station | 0 changesdirect | |
Regionale TRENORD 2633 · Regionale TRENORD 22663 | 15:25 Milan Centrale | 1h12 | 16:37 Bergamo station | 1 change | |
Regionale TRENORD 25859 · Autobus TRENORD 59A | 15:31 Milan Porta Garibaldi | 1h10 | 16:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 25859 · Autobus TRENORD 59A | 15:31 Milan Porta Garibaldi | 1h32 | 17:03 Bergamo station | 1 change | |
Regionale TRENORD 2235 · Autobus TRENORD 72A | 16:05 Milan Centrale | 1h15 | 17:20 Bergamo Ospedale | 1 change | |
Regionale TRENORD 2235 | 16:05 Milan Centrale | 0h48 | 16:53 Bergamo station | 0 changesdirect | |
Regionale TRENORD 2635 · Regionale TRENORD 22667 | 16:25 Milan Centrale | 1h12 | 17:37 Bergamo station | 1 change | |
Regionale TRENORD 25863 · Autobus TRENORD 63A | 16:31 Milan Porta Garibaldi | 1h10 | 17:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 25863 · Autobus TRENORD 63A | 16:31 Milan Porta Garibaldi | 1h32 | 18:03 Bergamo station | 1 change | |
Regionale TRENORD 25865 · Autobus TRENORD 65A | 17:01 Milan Porta Garibaldi | 1h37 | 18:38 Bergamo station | 1 change | |
Regionale TRENORD 25865 · Autobus TRENORD 65A | 17:01 Milan Porta Garibaldi | 1h15 | 18:16 Bergamo Ospedale | 1 change | |
Regionale TRENORD 2237 | 17:05 Milan Centrale | 0h48 | 17:53 Bergamo station | 0 changesdirect | |
Regionale TRENORD 2637 · Regionale TRENORD 22671 | 17:25 Milan Centrale | 1h12 | 18:37 Bergamo station | 1 change | |
Regionale TRENORD 25867 · Autobus TRENORD 67A | 17:31 Milan Porta Garibaldi | 1h32 | 19:03 Bergamo station | 1 change | |
Regionale TRENORD 25867 · Autobus TRENORD 67A | 17:31 Milan Porta Garibaldi | 1h10 | 18:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 25869 · Autobus TRENORD 69A | 18:01 Milan Porta Garibaldi | 1h10 | 19:11 Bergamo Ospedale | 1 change | |
Regionale TRENORD 25869 · Autobus TRENORD 69A | 18:01 Milan Porta Garibaldi | 1h32 | 19:33 Bergamo station | 1 change | |
Regionale TRENORD 2239 | 18:05 Milan Centrale | 0h48 | 18:53 Bergamo station | 0 changesdirect | |
Regionale TRENORD 2639 · Regionale TRENORD 22675 | 18:25 Milan Centrale | 1h12 | 19:37 Bergamo station | 1 change | |
Regionale TRENORD 25871 · Autobus TRENORD 71A | 18:31 Milan Porta Garibaldi | 1h32 | 20:03 Bergamo station | 1 change | |
Regionale TRENORD 25871 · Autobus TRENORD 71A | 18:31 Milan Porta Garibaldi | 1h10 | 19:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 2241 | 19:05 Milan Centrale | 0h48 | 19:53 Bergamo station | 0 changesdirect | |
Regionale TRENORD 25875 · Autobus TRENORD 75A | 19:31 Milan Porta Garibaldi | 1h10 | 20:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 25875 · Autobus TRENORD 75A | 19:31 Milan Porta Garibaldi | 1h32 | 21:03 Bergamo station | 1 change | |
Regionale TRENORD 2243 | 20:05 Milan Centrale | 0h48 | 20:53 Bergamo station | 0 changesdirect | |
Regionale TRENORD 2643 · Regionale TRENORD 22683 | 20:25 Milan Centrale | 1h12 | 21:37 Bergamo station | 1 change | |
Regionale TRENORD 25879 · Autobus TRENORD 79A | 20:31 Milan Porta Garibaldi | 1h32 | 22:03 Bergamo station | 1 change | |
Regionale TRENORD 25879 · Autobus TRENORD 79A | 20:31 Milan Porta Garibaldi | 1h10 | 21:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 2245 | 21:05 Milan Centrale | 0h50 | 21:55 Bergamo station | 0 changesdirect | |
Regionale TRENORD 25883 · Autobus TRENORD 83A | 21:31 Milan Porta Garibaldi | 1h10 | 22:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 25883 · Autobus TRENORD 83A | 21:31 Milan Porta Garibaldi | 1h32 | 23:03 Bergamo station | 1 change | |
Regionale TRENORD 2247 | 23:05 Milan Centrale | 0h50 | 23:55 Bergamo station | 0 changesdirect | |
Regionale TRENORD 2211 · Autobus TRENORD 1716A | 04:05 Milan Centrale | 1h32 | 05:37 Bergamo Ospedale | 1 change | |
Regionale TRENORD 2211 | 04:05 Milan Centrale | 0h48 | 04:53 Bergamo station | 0 changesdirect | |
Regionale TRENORD 25815 · Autobus TRENORD 15A | 04:31 Milan Porta Garibaldi | 1h32 | 06:03 Bergamo station | 1 change | |
Regionale TRENORD 25815 · Autobus TRENORD 15A | 04:31 Milan Porta Garibaldi | 1h10 | 05:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 25815 · Autobus TRENORD 15A | 04:39 Milano Greco Pirelli | 1h02 | 05:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 2213 | 05:05 Milan Centrale | 0h48 | 05:53 Bergamo station | 0 changesdirect | |
Regionale TRENORD 2613 · Regionale TRENORD 22623 | 05:25 Milan Centrale | 1h12 | 06:37 Bergamo station | 1 change | |
Regionale TRENORD 25819 · Autobus TRENORD 19A | 05:31 Milan Porta Garibaldi | 1h10 | 06:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 25819 · Autobus TRENORD 19A | 05:31 Milan Porta Garibaldi | 1h32 | 07:03 Bergamo station | 1 change | |
Regionale TRENORD 2215 | 06:05 Milan Centrale | 0h50 | 06:55 Bergamo station | 0 changesdirect | |
Regionale TRENORD 2615 · Regionale TRENORD 22627 | 06:25 Milan Centrale | 1h12 | 07:37 Bergamo station | 1 change | |
Regionale TRENORD 25823 · Autobus TRENORD 23A | 06:31 Milan Porta Garibaldi | 1h32 | 08:03 Bergamo station | 1 change | |
Regionale TRENORD 25823 · Autobus TRENORD 23A | 06:31 Milan Porta Garibaldi | 1h10 | 07:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 2217 | 07:05 Milan Centrale | 0h48 | 07:53 Bergamo station | 0 changesdirect | |
Regionale TRENORD 2617 · Regionale TRENORD 22631 | 07:25 Milan Centrale | 1h12 | 08:37 Bergamo station | 1 change | |
Regionale TRENORD 25827 · Autobus TRENORD 27A | 07:31 Milan Porta Garibaldi | 1h10 | 08:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 25827 · Autobus TRENORD 27A | 07:31 Milan Porta Garibaldi | 1h32 | 09:03 Bergamo station | 1 change | |
Regionale TRENORD 2219 | 08:05 Milan Centrale | 0h48 | 08:53 Bergamo station | 0 changesdirect | |
Regionale TRENORD 2619 · Regionale TRENORD 22635 | 08:25 Milan Centrale | 1h12 | 09:37 Bergamo station | 1 change | |
Regionale TRENORD 25831 · Autobus TRENORD 31A | 08:31 Milan Porta Garibaldi | 1h32 | 10:03 Bergamo station | 1 change | |
Regionale TRENORD 25831 · Autobus TRENORD 31A | 08:31 Milan Porta Garibaldi | 1h10 | 09:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 2221 | 09:05 Milan Centrale | 0h50 | 09:55 Bergamo station | 0 changesdirect | |
Regionale TRENORD 2621 · Regionale TRENORD 22639 | 09:25 Milan Centrale | 1h12 | 10:37 Bergamo station | 1 change | |
Regionale TRENORD 25835 · Autobus TRENORD 35A | 09:31 Milan Porta Garibaldi | 1h32 | 11:03 Bergamo station | 1 change | |
Regionale TRENORD 25835 · Autobus TRENORD 35A | 09:31 Milan Porta Garibaldi | 1h10 | 10:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 2223 | 10:05 Milan Centrale | 0h48 | 10:53 Bergamo station | 0 changesdirect | |
Regionale TRENORD 2623 · Regionale TRENORD 22643 | 10:25 Milan Centrale | 1h12 | 11:37 Bergamo station | 1 change | |
Regionale TRENORD 25839 · Autobus TRENORD 39A | 10:31 Milan Porta Garibaldi | 1h10 | 11:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 25839 · Autobus TRENORD 39A | 10:31 Milan Porta Garibaldi | 1h32 | 12:03 Bergamo station | 1 change | |
Regionale TRENORD 2225 | 11:05 Milan Centrale | 0h48 | 11:53 Bergamo station | 0 changesdirect | |
Regionale TRENORD 2625 · Regionale TRENORD 22647 | 11:25 Milan Centrale | 1h12 | 12:37 Bergamo station | 1 change | |
Regionale TRENORD 25843 · Autobus TRENORD 43A | 11:31 Milan Porta Garibaldi | 1h32 | 13:03 Bergamo station | 1 change | |
Regionale TRENORD 25843 · Autobus TRENORD 43A | 11:31 Milan Porta Garibaldi | 1h10 | 12:41 Bergamo Ospedale | 1 change | |
Regionale TRENORD 2227 | 12:05 Milan Centrale | 0h48 | 12:53 Bergamo station | 0 changesdirect | |
Regionale TRENORD 2627 · Regionale TRENORD 22651 | 12:25 Milan Centrale | 1h12 | 13:37 Bergamo station | 1 change | |
Regionale TRENORD 25847 · Autobus TRENORD 47A | 12:31 Milan Porta Garibaldi | 1h32 | 14:03 Bergamo station | 1 change | |
Regionale TRENORD 25847 · Autobus TRENORD 47A | 12:31 Milan Porta Garibaldi | 1h10 | 13:41 Bergamo Ospedale | 1 change | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Milan to Bergamo by coach or train
Compare coach and train 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.
28 Feb
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
Why should you book Milan to Bergamo trains with Omio?
Why book with Omio vs Regionale?
- Compare with other providers: On Omio, you can not only buy tickets for Regionale, but also compare tickets for the likes of Frecciarossa or Trenord to find the best option for your trip from Milan to Bergamo.
- 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 Regionale with all available travel options, which are bus and train to ensure you get the best deal for traveling from Milan to Bergamo.
How far in advance should I book train tickets from Milan to Bergamo?
ReviewsReviews for the rail journey from Milan to Bergamo

Journey information
Overview: Train from Milan to Bergamo
Trains from Milan to Bergamo run on average 76 times per day, taking around 58m. Cheap train tickets for this journey start at £5 but you can travel from only £1 by coach.
There are 24 trains per day. The earliest train runs at 00:04, the last at 23:56. The fastest train covers the 45 km distance in 1h 32m.
Distance 45 km |
Average train duration 58m |
Cheapest ticket price £5 |
Trains per day 76 |
Direct trains 24 |
Fastest train 1h 32m |
First train 00:04 |
Last train 23:56 |
Train companies: Regionale, Frecciarossa, Trenord from Milan to Bergamo trainsRegionale, Frecciarossa, Trenord trains will get you between Milan and Bergamo from £1. With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Regionale
Frecciarossa
Trenord
Trains from Milan to Bergamo
Catching the train is an excellent option for anyone who wants to make the journey from Milan to Bergamo. Every day, 20 to 25 direct services depart from Milan for the northern Italian city, with two to three trains per hour during the day. And with a journey time of between 45 minutes and one hour 10 minutes, it doesn't take long to reach Bergamo by train.
Which train companies travel from Milan to Bergamo?
All trains to Bergamo from Milan are operated by Trenitalia Trenord – the northern arm of Italy's national rail company, which operates almost exclusively in the Lombardy region.
How long is the train from Milan to Bergamo?
Travelling from Milan to Bergamo by train won't take long. In fact, the journey is extremely quick, with durations ranging from 45 minutes to one hour 10 minutes when no changes are required.
How many trains are there from Milan to Bergamo?
Passengers travelling by train from Milan to Bergamo will always have plenty of potential departure times to choose from. Trains leave all day long, with 20 to 25 direct services (and sometimes more). Departures begin after 5:30 a.m. and continue until shortly before midnight.
What are the departure and arrival stations for trains from Milan to Bergamo?
Departure train station: Trains to Bergamo could depart from Milan Centrale, Porta Garibaldi, Lambrate or Greco Pirelli stations. All are fairly close to the heart of Milan. Centrale is a few hundred metres north-east of the city centre, while Porta Garibaldi is slightly more central. Greco Pirelli is located in the northern suburb of Segnanino, while Lambrate is around one and a half miles north-east of the centre. All stations are easily accessible via Milan's Metro network or local buses, and trains run from all stations every day. So finding a convenient departure point shouldn't be tough.
Arrival train station: Whatever departure point passengers select, trains from Milan will arrive at Bergamo Station, which can be found on the Piazzale Guglielmo Marconi, around 800 metres south of the historic centre. From there, buses 1, 5, 6, 7, 8, and 9 provide local connections and make getting to central accommodation much easier, although walking is also an option. If travellers need to head to Bergamo Airport, the best option is to take the number 1 bus (which takes around 20 minutes) or to hail a taxi from the station entrance.
FAQs: Milan to Bergamo train
Find answers to the most common questions about traveling from Milan to Bergamo 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 Bergamo, this guide helps you travel smarter and with confidence.

popular train stations
Important Stations and Airports in Milan and Bergamo
- 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
- 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
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- The car park is open 7 days a week, 24 hours a day. Access via Piazzale Guglielmo Marconi.
- Ristorante La Bruschetta
- Osteria D'Ambrosio
- Outside the main entrance.
- Elevators, ramps, restrooms.
- €1
- Hotel Excelsior San Marco
- Mercure Bergamo Centro Palazzo Dolci
- Hotel Cappello d'Oro
- Located in the main hall
- 132 places, covered
- Avis
- Europcar
- Hertz
- Located in the main hall
- Free
- Hall 1: main entrance, platforms 1-6 for regional and long-distance trains
- Hall 2: ticket office and waiting area
- Bus: Several lines available
- Tram: Line T1
- Elevators, ramps.
- The station is a small facility primarily serving the nearby hospital area.
- Bus: Several local bus lines available
More options for your journey from Milan to Bergamo
Here are some other resources that might have the information you need

