The cheapest and fastest trains from Bergamo to Milan
Cheapest price
£5
Average price
£5
Fastest journey
37 m
Average duration
37 m
Trains per day
112
Distance
45 km
The best way to find a cheap train ticket from Bergamo to Milan is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Bergamo to Milan will cost around £5 if you buy it on the day, but you can find cheap train tickets today for only £5.
Of the 112 trains that leave Bergamo for Milan every day 55 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 37 m but if you time it right, some trains will get you there in just 37 m .
The slowest trains will take 37 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.
Autobus TRENORD 70A · Regionale TRENORD 25870
Autobus TRENORD 26A · Regionale TRENORD 25826
Autobus TRENORD 46A · Regionale TRENORD 25846
Autobus TRENORD 22A · Regionale TRENORD 25822 · S9 TRENORD 24923
Autobus TRENORD 62A · Regionale TRENORD 25862
Regionale TRENORD 2218
Regionale TRENORD 2230
Regionale TRENORD 2240
Regionale TRENORD 2226
Regionale TRENORD 2246Travel Information
Compare train and coach for Bergamo to Milan
Omio recommends booking the train as it is the most popular option from Bergamo to Milan among Omio's users. If you are prioritising price take the coach with prices starting from £1. For those with little time consider booking a train which can get you there in 53m. 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 coach costs an average of £1, and a train costs an average of £4.
Distance: 45 km
Compare train with
Most popular Train | Coach |
|---|---|
£5 Average Price | £3 Average Price Cheapest |
1h 23m Average total duration Fastest 53m 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
Bergamo to Milan train times
The table below shows live departures for Bergamo to Milan trains for today, Wednesday 26 November. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
Regionale TRENORD 22634 · Regionale TRENORD 2624 | 09:18 Bergamo station | 1h08 | 10:26 Milano Lambrate | 1 change | |
Autobus TRENORD 31A · Regionale TRENORD 22638 · Regionale TRENORD 2626 | 09:42 Bergamo Ospedale | 1h44 | 11:26 Milano Lambrate | 2 changes | |
Autobus TRENORD 42A · Regionale TRENORD 25842 | 10:01 Bergamo Ospedale | 1h28 | 11:29 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2224 | 10:02 Bergamo station | 0h37 | 10:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2224 | 10:02 Bergamo station | 0h48 | 10:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 22638 · Regionale TRENORD 2626 | 10:18 Bergamo station | 1h08 | 11:26 Milano Lambrate | 1 change | |
Autobus TRENORD 35A · Regionale TRENORD 22642 · Regionale TRENORD 2628 | 10:42 Bergamo Ospedale | 1h44 | 12:26 Milano Lambrate | 2 changes | |
Autobus TRENORD 46A · Regionale TRENORD 25846 | 11:01 Bergamo Ospedale | 1h28 | 12:29 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2226 | 11:02 Bergamo station | 0h37 | 11:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2226 | 11:02 Bergamo station | 0h48 | 11:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 22642 · Regionale TRENORD 2628 | 11:18 Bergamo station | 1h08 | 12:26 Milano Lambrate | 1 change | |
Autobus TRENORD 39A · Regionale TRENORD 22646 · Regionale TRENORD 10608 | 11:42 Bergamo Ospedale | 1h35 | 13:17 Milano Lambrate | 2 changes | |
Autobus TRENORD 50A · Regionale TRENORD 25850 | 12:01 Bergamo Ospedale | 1h28 | 13:29 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2228 | 12:02 Bergamo station | 0h37 | 12:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2228 | 12:02 Bergamo station | 0h48 | 12:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 22646 · Regionale TRENORD 10608 | 12:18 Bergamo station | 0h59 | 13:17 Milano Lambrate | 1 change | |
Autobus TRENORD 43A · Regionale TRENORD 22650 · Regionale TRENORD 2632 | 12:42 Bergamo Ospedale | 1h44 | 14:26 Milano Lambrate | 2 changes | |
Autobus TRENORD 54A · Regionale TRENORD 25854 | 13:01 Bergamo Ospedale | 1h28 | 14:29 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2230 | 13:02 Bergamo station | 0h37 | 13:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2230 | 13:02 Bergamo station | 0h48 | 13:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 22650 · Regionale TRENORD 2632 | 13:18 Bergamo station | 1h08 | 14:26 Milano Lambrate | 1 change | |
Autobus TRENORD 47A · Regionale TRENORD 22654 · Regionale TRENORD 2634 | 13:42 Bergamo Ospedale | 1h44 | 15:26 Milano Lambrate | 2 changes | |
Autobus TRENORD 58A · Regionale TRENORD 25858 | 14:01 Bergamo Ospedale | 1h28 | 15:29 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2232 | 14:02 Bergamo station | 0h37 | 14:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2232 | 14:02 Bergamo station | 0h48 | 14:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 22654 · Regionale TRENORD 2634 | 14:18 Bergamo station | 1h08 | 15:26 Milano Lambrate | 1 change | |
Autobus TRENORD 51A · Regionale TRENORD 22658 · Regionale TRENORD 10610 | 14:42 Bergamo Ospedale | 1h32 | 16:14 Milano Lambrate | 2 changes | |
Autobus TRENORD 1733A · Regionale TRENORD 2276 | 15:01 Bergamo Ospedale | 1h19 | 16:20 Milano Lambrate | 1 change | |
Autobus TRENORD 62A · Regionale TRENORD 25862 | 15:01 Bergamo Ospedale | 1h20 | 16:21 Milano Greco Pirelli | 1 change | |
Autobus TRENORD 62A · Regionale TRENORD 25862 | 15:01 Bergamo Ospedale | 1h28 | 16:29 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2234 | 15:02 Bergamo station | 0h48 | 15:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2234 | 15:02 Bergamo station | 0h37 | 15:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 22658 · Regionale TRENORD 10610 | 15:18 Bergamo station | 0h56 | 16:14 Milano Lambrate | 1 change | |
Regionale TRENORD 2276 | 15:40 Bergamo station | 0h40 | 16:20 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2276 | 15:40 Bergamo station | 1h00 | 16:40 Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 66A · Regionale TRENORD 25866 | 16:01 Bergamo Ospedale | 1h20 | 17:21 Milano Greco Pirelli | 1 change | |
Autobus TRENORD 66A · Regionale TRENORD 25866 | 16:01 Bergamo Ospedale | 1h28 | 17:29 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 1735A · Regionale TRENORD 2278 | 16:01 Bergamo Ospedale | 1h19 | 17:20 Milano Lambrate | 1 change | |
Regionale TRENORD 2236 | 16:02 Bergamo station | 0h48 | 16:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2236 | 16:02 Bergamo station | 0h37 | 16:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2278 | 16:40 Bergamo station | 0h40 | 17:20 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2278 | 16:40 Bergamo station | 1h00 | 17:40 Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 1737A · Regionale TRENORD 2280 | 17:01 Bergamo Ospedale | 1h19 | 18:20 Milano Lambrate | 1 change | |
Autobus TRENORD 70A · Regionale TRENORD 25870 | 17:01 Bergamo Ospedale | 1h28 | 18:29 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 70A · Regionale TRENORD 25870 | 17:01 Bergamo Ospedale | 1h20 | 18:21 Milano Greco Pirelli | 1 change | |
Regionale TRENORD 2238 | 17:02 Bergamo station | 0h37 | 17:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2238 | 17:02 Bergamo station | 0h48 | 17:50 Milan Centrale | 0 changesdirect | |
Autobus TRENORD 72A · Regionale TRENORD 25872 · Regionale TRENORD 25533 | 17:21 Bergamo Ospedale | 1h59 | 19:20 Milan Centrale | 2 changes | |
Autobus TRENORD 72A · Regionale TRENORD 25872 | 17:21 Bergamo Ospedale | 1h38 | 18:59 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2280 | 17:40 Bergamo station | 0h40 | 18:20 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2280 | 17:40 Bergamo station | 1h04 | 18:44 Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 74A · Regionale TRENORD 25874 | 18:01 Bergamo Ospedale | 1h28 | 19:29 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 1739A · Regionale TRENORD 2282 | 18:01 Bergamo Ospedale | 1h19 | 19:20 Milano Lambrate | 1 change | |
Autobus TRENORD 74A · Regionale TRENORD 25874 | 18:01 Bergamo Ospedale | 1h20 | 19:21 Milano Greco Pirelli | 1 change | |
Regionale TRENORD 2240 | 18:02 Bergamo station | 0h37 | 18:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2240 | 18:02 Bergamo station | 0h48 | 18:50 Milan Centrale | 0 changesdirect | |
Autobus TRENORD 65A · Regionale TRENORD 2242 | 18:17 Bergamo Ospedale | 1h22 | 19:39 Milano Lambrate | 1 change | |
Autobus TRENORD 65A · Regionale TRENORD 2242 | 18:17 Bergamo Ospedale | 1h33 | 19:50 Milan Centrale | 1 change | |
Regionale TRENORD 2282 | 18:40 Bergamo station | 0h40 | 19:20 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2282 | 18:40 Bergamo station | 1h00 | 19:40 Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 78A · Regionale TRENORD 25878 | 19:01 Bergamo Ospedale | 1h28 | 20:29 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2242 | 19:02 Bergamo station | 0h37 | 19:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2242 | 19:02 Bergamo station | 0h48 | 19:50 Milan Centrale | 0 changesdirect | |
Autobus TRENORD 69A · Regionale TRENORD 2284 | 19:12 Bergamo Ospedale | 1h08 | 20:20 Milano Lambrate | 1 change | |
Regionale TRENORD 2284 | 19:40 Bergamo station | 0h40 | 20:20 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2284 | 19:40 Bergamo station | 1h00 | 20:40 Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 71A · Regionale TRENORD 22678 · Regionale TRENORD 2646 | 19:42 Bergamo Ospedale | 1h44 | 21:26 Milano Lambrate | 2 changes | |
Autobus TRENORD 82A · Regionale TRENORD 25882 | 20:01 Bergamo Ospedale | 1h28 | 21:29 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2244 | 20:02 Bergamo station | 0h48 | 20:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2244 | 20:02 Bergamo station | 0h37 | 20:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 22678 · Regionale TRENORD 2646 | 20:18 Bergamo station | 1h08 | 21:26 Milano Lambrate | 1 change | |
Autobus TRENORD 86A · Regionale TRENORD 25886 | 21:01 Bergamo Ospedale | 1h28 | 22:29 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2246 | 21:07 Bergamo station | 0h37 | 21:44 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2246 | On time 21:07 Bergamo station | 0h48 | 21:55 Milan Centrale | 0 changesdirect | |
| Thursday 27 November | |||||
Regionale TRENORD 2212 | 04:00 Bergamo station | 0h50 | 04:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2212 | 04:00 Bergamo station | 0h39 | 04:39 Milano Lambrate | 0 changesdirect | |
Autobus TRENORD 18A · Regionale TRENORD 25818 | 04:01 Bergamo Ospedale | 1h28 | 05:29 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 20A · Regionale TRENORD 25820 | 04:31 Bergamo Ospedale | 1h28 | 05:59 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 22A · Regionale TRENORD 25822 · S9 TRENORD 24923 | 05:01 Bergamo Ospedale | 1h45 | 06:46 Milano Porta Romana | 2 changes | |
Autobus TRENORD 22A · Regionale TRENORD 25822 | 05:01 Bergamo Ospedale | 1h28 | 06:29 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2214 | 05:02 Bergamo station | 0h37 | 05:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2214 | 05:02 Bergamo station | 0h48 | 05:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2256 | 05:30 Bergamo station | 0h44 | 06:14 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2256 | 05:30 Bergamo station | 1h03 | 06:33 Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 24A · Regionale TRENORD 25824 | 05:31 Bergamo Ospedale | 1h28 | 06:59 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 15A · Regionale TRENORD 2258 | 05:42 Bergamo Ospedale | 1h14 | 06:56 Milano Lambrate | 1 change | |
Autobus TRENORD 26A · Regionale TRENORD 25826 | 06:01 Bergamo Ospedale | 1h20 | 07:21 Milano Greco Pirelli | 1 change | |
Autobus TRENORD 26A · Regionale TRENORD 25826 · Regionale TRENORD 2815 | 06:01 Bergamo Ospedale | 1h39 | 07:40 Milan Centrale | 2 changes | |
Autobus TRENORD 26A · Regionale TRENORD 25826 | 06:01 Bergamo Ospedale | 1h28 | 07:29 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2216 | 06:02 Bergamo station | 0h48 | 06:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2216 | 06:02 Bergamo station | 0h37 | 06:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2258 | 06:13 Bergamo station | 0h43 | 06:56 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2258 | 06:13 Bergamo station | 1h05 | 07:18 Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 17A · Regionale TRENORD 2218 | 06:27 Bergamo Ospedale | 1h12 | 07:39 Milano Lambrate | 1 change | |
Autobus TRENORD 17A · Regionale TRENORD 2218 | 06:27 Bergamo Ospedale | 1h23 | 07:50 Milan Centrale | 1 change | |
Regionale TRENORD 2206 | 06:40 Bergamo station | 0h50 | 07:30 Milan Centrale | 0 changesdirect | |
Autobus TRENORD 30A · Regionale TRENORD 25830 | 07:01 Bergamo Ospedale | 1h28 | 08:29 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2218 | 07:02 Bergamo station | 0h37 | 07:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2218 | 07:02 Bergamo station | 0h48 | 07:50 Milan Centrale | 0 changesdirect | |
Autobus TRENORD 21A · Regionale TRENORD 2260 | 07:12 Bergamo Ospedale | 1h08 | 08:20 Milano Lambrate | 1 change | |
Regionale TRENORD 2260 | 07:40 Bergamo station | 1h00 | 08:40 Milan Porta Garibaldi | 0 changesdirect | |
Regionale TRENORD 2260 | 07:40 Bergamo station | 0h40 | 08:20 Milano Lambrate | 0 changesdirect | |
Autobus TRENORD 1719A · Regionale TRENORD 2262 | 08:01 Bergamo Ospedale | 1h16 | 09:17 Milano Lambrate | 1 change | |
Autobus TRENORD 34A · Regionale TRENORD 25834 | 08:01 Bergamo Ospedale | 1h28 | 09:29 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2220 | 08:02 Bergamo station | 0h48 | 08:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2220 | 08:02 Bergamo station | 0h37 | 08:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2262 | 08:40 Bergamo station | 1h00 | 09:40 Milan Porta Garibaldi | 0 changesdirect | |
Regionale TRENORD 2262 | 08:40 Bergamo station | 0h37 | 09:17 Milano Lambrate | 0 changesdirect | |
Autobus TRENORD 27A · Regionale TRENORD 22634 · Regionale TRENORD 2624 | 08:42 Bergamo Ospedale | 1h44 | 10:26 Milano Lambrate | 2 changes | |
Autobus TRENORD 38A · Regionale TRENORD 25838 | 09:01 Bergamo Ospedale | 1h28 | 10:29 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2222 | 09:02 Bergamo station | 0h48 | 09:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2222 | 09:02 Bergamo station | 0h37 | 09:39 Milano Lambrate | 0 changesdirect | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Bergamo to Milan by train or coach
Compare train and coach 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.
26 Nov
27 Nov
28 Nov
29 Nov
30 Nov
01 Dec
02 Dec
03 Dec
04 Dec
05 Dec
06 Dec
07 Dec
08 Dec
09 Dec
10 Dec
11 Dec
12 Dec
13 Dec
14 Dec
15 Dec
16 Dec
How far in advance should I book train tickets from Bergamo to Milan?
ReviewsReviews for the rail journey from Bergamo to Milan

Journey information
Overview: Train from Bergamo to Milan
Trains from Bergamo to Milan run on average 78 times per day, taking around 53m. Cheap train tickets for this journey start at £4 but you can travel from only £1 by coach.
There are 27 trains per day. The earliest train runs at 00:15, the last at 23:48. The fastest train covers the 45 km distance in 48m.
Distance 45 km |
Average train duration 53m |
Cheapest ticket price £4 |
Trains per day 78 |
Direct trains 27 |
Fastest train 48m |
First train 00:15 |
Last train 23:48 |
Train companies: Regionale, Frecciarossa, Trenord from Bergamo to Milan trainsRegionale, Frecciarossa, Trenord trains will get you between Bergamo and Milan 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 Bergamo to Milan
You’ll find that trains from Bergamo to Milan run on an extremely busy schedule, particularly at peak times. They’re often space only about 2_5min apart during these times of the day, with an average interval of about 15_20min throughout the rest of the day. The average travel time is about 55min, with some trains running faster, and others taking a little longer.
Bergamo to Milan Train Time: Daily Departures
There are more almost 70 trains from Bergamo to Milan every day, including on weekends. This gives you almost 500 trains a week to choose from. They run throughout the entire day, within 20min of each at the outmost, at a rough density of about three to 10 an hour, depending on the time of day. The first trains leave at roughly 05:00, with the last ones departing between around 21:25 and 22:25.
How long is the journey by train from Bergamo to Milan?
Most of the trains from Bergamo to Milan take about 55min on average, but you can find slightly faster ones if you use the timetable filters on Omio. The quickest train journey only takes about 40min, with one set of trains taking around 48min. The longest trip only takes about 1h 10min, with another cluster of trains all taking about 1h 03min.


Abbaye d'Abbeville. Source: Shutterstock
=" The Milan Cathedral at sunrise. Gothic, Renaissance architecture.">What are the departure and arrival stations for trains from Bergamo to Milan?
Departure train station: Trains to Milan leave from Bergamo Station or Bergamo Ospedale Station. The former is in the city centre, so you can either walk for about 15min or catch a taxi for about 2min. Ospedale Station is a little further out; you can catch a No. R14 train from the city centre in about 4min. Bergamo Station offers limited mobility assistance and wheelchair accessibility. A bar_cafeteria is in the side atrium, and there’s a small shopping arcade. Bergamo Ospedale is essentially a sheltered platform without any supplementary services, so bear that in mind.
Arrival train station: Trains from Bergamo arrive at Milan Centrale, Milan Porta Garibaldi Stations or Milano Lambrate. Both the former offer Sala Blu limited mobility amenities, and pubs, café and restaurants. There are also left luggage facilities and cash machines. To get to Milan city centre from Centrale Station, catch the Line 3 subway train, taking about 12min. Else a Line 43 bus will take about 18min. From Porta Garibaldi catch a Line 2 subway train, taking about 3min. Lambrate serves Milan’s city transport network. It’s a smaller station, with a few shops and cafés. The Line 2 subway will get you there in about 13min.
Which train companies travel from Bergamo to Milan?
Trenitalia is the only train company that operates trains from Bergamo to Milan. It offers various types of trains on this route, all of them capable of high_speed travel. The fastest type of trains are in its Frecciarosso service, and they’re also the ones that will get you to Milan in the least amount of time. These are available once a day in the early morning. For all other trips the operator uses its Regional TRENORD models, which are almost as quick – the fastest clocking in only minutes later than the Frecciarosso trains. So you won’t really experience much difference in travel time between the two services. The only real differentiator between them is that if you want to travel on Frecciarosso, you’ll have to leave Bergamo Station at about 05:45.
Trenitalia trains from Bergamo to Milan
Trenitalia is one of the major operators of high_speed trains in Italy, and provides trains on the Bergamo_Milan route from early in the morning till late evening. The majority of them travel direct, without requiring you to make any train changes on the way. The service starts at around 05:00, continuing at intervals that range from about 3min to 20min at the outmost. You can board one of around 70 trains a day that travel to Milan, with all bar one on Trenitalia Regionale TRENORD trains. They take from about 48min to around 1h 05min to make the trip. There’s also a Trenitalia Frecciarosso train once a day that will get you to Milan in about 40min.
Train Bergamo to Milan: Services on Board
On shorter trips like this Trenitalia doesn’t use a restaurant carriage. Instead there’s a bar coach where you can buy snacks and drinks. You can use your laptop, tablet or mobile to access a wide range of entertainment on the Trenitalia FRECCE online portal, which you can connect to using the free on_board Wi_Fi. You can choose to travel First class if you prefer, but the standard class is more than good enough for a trip lasting scarcely more than an hour at most. In both classes you can also choose the level of service you want: Standard, Premium, Business or Executive, in ascending order of perks. There isn’t an official baggage allowance, but the norm is to take two items of hold luggage and one carry_on bag. Cyclists are welcome to bring their bicycles, either folded, or disassembled and in a bike bag. Pets are also welcome, as long as they fit comfortably into a specific carrier size, which can be kept at your feet without obstructing other passengers.
Night trains Bergamo
As this is such a short route, there aren’t any night trains from Bergamo to Milan per se, but there are trains that leave at night. The latest of them depart from both stations in Bergamo, two headed to Milan Porta Garibaldi Station and one going to Milan Centrale Station. The first leaves at about 22:00 and the next two at around 22:25. They’re all direct trains, the fastest taking about 48min and the longest about 1m 10min.
Travelling by train: Sustainable journey
Trenitalia has a committed long_term sustainability policy. As part of this the company constructs all its trains with at least 20% recycled materials. This allows its trains to improve carbon efficiency by using up to 30% less energy. It also uses KERS technology to convert brake_generated heat into electrical power that it feeds back to the grid, returing about 15% of its expended energy.
How to find cheap train tickets from Bergamo to Milan?
You can get the jump on cheap tickets to Milan by booking some time in advance – typically a few months. This is often when prices start out lower, as train operators need to fill their trains as soon as possible in order to calculate financial and energy efficiency and provide incentives for early_bird reservations. You can also play it the other way, by being completely flexible about when you travel and booking last_minute tickets that have become available due to cancellations. Once again, to maintain economies of scale, the train companies will often discount these to keep their trains full. You’ll also often find that routes involving intermediate stops or train changes will be cheaper, to compensate for the longer travel time.


Abbaye d'Abbeville. Source: Shutterstock
="Historical marble arch Arco della Pace (Peace arch) in Milan. Sempione gate.">To Milan by train—travel tips
Milan is one of the most popular tourist cities in Italy, and is also one of the country’s main commercial centres. It’s also one of the fashion capitals of Europe, with a long and auspicious history. Among the main city landmarks are the Milan Cathedral, Il Duomo. Originally built in Gothic_style in the 14th century, Napoleon himself commissioned its facade in the early 1800s. It also boasts the world’s largest stained glass windows. Castello Sforzesco is another historic landmark, the erstwhile home of the families that ruled Milan until the early 16th century. inside is a scuplture museum with Michelangelo’s last masterpiece as its crown jewel. Fine art lovers shouldn’t miss one of Italy’s most celebrated art museums, Pinacoteca di Brera. There’s also the church of San Maurizio, known for its opulent interior, and the Archaeology Museum (Civico Museo Archeologico). Here you’ll also find ancient Roman circus ruins. For more ideas on tourist attractions in and around Milan, check out our online travel magazine, The Window Seat.
- The Romanesque Church of Sant'Ambrogio
- Da Vinci’s orginal "Last Supper" – the original wall painting in Santa Maria delle Grazie.
- Cimitero Monumentale for outdoor Art Nouveau scultures
- Live music alongside the canal at Naviglio
- Opera at Teatro alla Scala
- Leonardo da Vinci National Museum of Science and Technology
FAQs: Bergamo to Milan train
Find answers to the most common questions about traveling from Bergamo 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
Important Stations and Airports in Bergamo and Milan
- 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
- 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
- The car park is open 7 days a week from 6:00 a.m. to 11:00 p.m. Access via Viale Isonzo.
- Berberè Milano Porta Romana
- Rossopomodoro Milano Porta Romana
- Outside the main entrance.
- Ramps, restrooms.
- €1
- Hotel Five
- Grand Visconti Palace
- Hotel Porta Romana
- 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 M3
- Bus: Several lines available
- 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
- Outside the main entrance.
- Ramps, restrooms.
- Free
- Hotel Sunflower
- Hotel Ares Milano
- Hotel Gala
- Free
- The station is part of the Milan Passante railway, serving as its north-western gate.
- Metro: Line M5
- Bus: Several lines available
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- Parking is available nearby, but not directly at the station.
- STK Steakhouse
- Ristorante Piazza Repubblica
- Outside the main entrance.
- Elevators, ramps, restrooms.
- €1
- Hotel Principe di Savoia
- ME Milan Il Duca
- Hotel Manin
- Located in the main hall
- Free
- Hall 1: main entrance, platform 1-2 for Milan Passante railway
- Metro: Line M3
- Tram: Line 9
- Bus: Several lines available
- 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
- 6:00 AM - 8:00 PM Monday - Sunday
- Free
- Parking is available near the station, with limited spaces.
- El Cafe De Milan 2
- Al Paradiso Della Pizza
- Outside the main entrance.
- Ramps, restrooms.
- €1
- Hotel Ares Milano
- Eco-Hotel La Residenza
- Hotel Ornato
- Located in the main hall
- Hall 1: main entrance, platform 1-2 for regional trains
- Metro: Line M3
- Bus: Several lines available
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- Parking is available nearby with various options for short and long-term stays.
- Ristorante Controvento
- Osteria delle Corti
- Outside the main entrance.
- Ramps, restrooms.
- €1
- Hotel Mozart
- Enterprise Hotel
- Hotel Nasco
- Located in the main hall
- Located in the main hall
- Free
- Hall 1: main entrance, platform access for suburban and regional trains
- Metro: Line M5
- Tram: Line 1, Line 10
- Bus: Several lines available
- 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
- Outside the main entrance.
- Elevators, ramps.
- Hotel MM Dateo
- Hotel Dateo Milano
- Free
- The station is underground with two main platforms for the Milan Passante railway.
- Metro: Line S1, Line S2
- Bus: Several lines available
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- Parking is available nearby with access from Viale Tibaldi.
- Ristorante Bocconi
- Trattoria del Pescatore
- Outside the main entrance.
- Ramps.
- €1
- Hotel Bocconi
- Hotel D'Este
- Hotel Palladio
- Located near the main entrance
- Free
- Hall 1: main entrance, platform 1-2 for regional and suburban trains
- Bus: Several lines available including bus no. 90 and 91
Most popular train connections from Bergamo
More options for your journey from Bergamo to Milan
Here are some other resources that might have the information you need

