- Must visit
Pinacoteca di Brera
One of Milan’s leading art museums, with Italian masterpieces from the Middle Ages to the 20th century in a historic palace.
Cheapest price on 10 Oct
£5
Average ticket price on 10 Oct
£5
Fastest journey on 10 Oct
37 m
Average journey duration on 10 Oct
37 m
Trains on 10 Oct
88
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.
On Sat 10 Oct, we found 88 trains from Bergamo to Milan, including 36 direct services.
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 74A · Regionale TRENORD 25874
Autobus TRENORD 78A · Regionale TRENORD 25878
Autobus TRENORD 72A · Regionale TRENORD 25872
Autobus TRENORD 26A · Regionale TRENORD 25826
Autobus TRENORD 58A · Regionale TRENORD 25858
Regionale TRENORD 2222
Regionale TRENORD 2220
Regionale TRENORD 2244
Regionale TRENORD 2232
Regionale TRENORD 2218Trains from Bergamo to Milan run on average 59 times per day, taking around 47m. Cheap train tickets for this journey start at £5 but you can travel from only £1 by coach.
There are 48 trains per day. The earliest train runs at 00:04, the last at 23:56. The fastest train covers the 45 km distance in 37m.
Distance 45 km |
Average train duration 47m |
Cheapest ticket price £5 |
Trains per day 59 |
Direct trains 48 |
Fastest train 37m |
First train 0:04 |
Last train 23:56 |
Cheapest Month Feb |
Cheapest Day Tue |
High Season Jan - Mar |
Low Season Jul - Sept |
Busiest Day Sun |
Least Busy Day Wed |
Best time to book 91 days |
The table below shows live departures for Bergamo to Milan trains for today, Friday 9 October. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
Autobus TRENORD 21A · Regionale TRENORD 2260 | 8:14 Bergamo Ospedale | 1h07 | 9:21 Milano Lambrate | 1 change | |
Regionale TRENORD 2260 | 8:40 Bergamo station | 0h41 | 9:21 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2260 | 8:40 Bergamo station | 1h00 | 9:40 Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 34A · Regionale TRENORD 25834 | 9:01 Bergamo Ospedale | 1h20 | 10:21 Milano Greco Pirelli | 1 change | |
Autobus TRENORD 34A · Regionale TRENORD 25834 | 9:01 Bergamo Ospedale | 1h30 | 10:31 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2220 | 9:02 Bergamo station | 0h37 | 9:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2220 | 9:02 Bergamo station | 0h48 | 9:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2262 | 9:40 Bergamo station | 0h41 | 10:21 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2262 | 9:40 Bergamo station | 1h00 | 10:40 Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 38A · Regionale TRENORD 25838 | 10:01 Bergamo Ospedale | 1h30 | 11:31 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 38A · Regionale TRENORD 25838 | 10:01 Bergamo Ospedale | 1h20 | 11:21 Milano Greco Pirelli | 1 change | |
Regionale TRENORD 2222 | 10:02 Bergamo station | 0h37 | 10:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2222 | 10:02 Bergamo station | 0h48 | 10:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 22634 · Regionale TRENORD 2624 | 10:18 Bergamo station | 1h17 | 11:35 Milan Centrale | 1 change | |
Autobus TRENORD 42A · Regionale TRENORD 25842 | 11:01 Bergamo Ospedale | 1h30 | 12:31 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 42A · Regionale TRENORD 25842 | 11:01 Bergamo Ospedale | 1h20 | 12:21 Milano Greco Pirelli | 1 change | |
Regionale TRENORD 2224 | 11:02 Bergamo station | 0h37 | 11:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2224 | 11:02 Bergamo station | 0h48 | 11:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 22638 · Regionale TRENORD 2626 | 11:18 Bergamo station | 1h17 | 12:35 Milan Centrale | 1 change | |
Autobus TRENORD 46A · Regionale TRENORD 25846 | 12:01 Bergamo Ospedale | 1h20 | 13:21 Milano Greco Pirelli | 1 change | |
Autobus TRENORD 46A · Regionale TRENORD 25846 | 12:01 Bergamo Ospedale | 1h30 | 13:31 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2226 | 12:02 Bergamo station | 0h48 | 12:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2226 | 12:02 Bergamo station | 0h37 | 12:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 22642 · Regionale TRENORD 2628 | 12:18 Bergamo station | 1h17 | 13:35 Milan Centrale | 1 change | |
Autobus TRENORD 39A · Regionale TRENORD 22646 · Regionale TRENORD 10608 | 12:44 Bergamo Ospedale | 1h29 | 14:13 Milano Lambrate | 2 changes | |
Autobus TRENORD 50A · Regionale TRENORD 25850 | 13:01 Bergamo Ospedale | 1h30 | 14:31 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 50A · Regionale TRENORD 25850 | 13:01 Bergamo Ospedale | 1h20 | 14:21 Milano Greco Pirelli | 1 change | |
Regionale TRENORD 2228 | 13:02 Bergamo station | 0h48 | 13:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2228 | 13:02 Bergamo station | 0h37 | 13:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 22646 · Regionale TRENORD 10608 | 13:18 Bergamo station | 0h55 | 14:13 Milano Lambrate | 1 change | |
Autobus TRENORD 54A · Regionale TRENORD 25854 | 14:01 Bergamo Ospedale | 1h30 | 15:31 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 54A · Regionale TRENORD 25854 | 14:01 Bergamo Ospedale | 1h20 | 15:21 Milano Greco Pirelli | 1 change | |
Regionale TRENORD 2230 | 14:02 Bergamo station | 0h37 | 14:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2230 | 14:02 Bergamo station | 0h48 | 14:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 22650 · Regionale TRENORD 2632 | 14:18 Bergamo station | 1h17 | 15:35 Milan Centrale | 1 change | |
Autobus TRENORD 58A · Regionale TRENORD 25858 | 15:01 Bergamo Ospedale | 1h20 | 16:21 Milano Greco Pirelli | 1 change | |
Autobus TRENORD 58A · Regionale TRENORD 25858 | 15:01 Bergamo Ospedale | 1h30 | 16:31 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2232 | 15:02 Bergamo station | 0h48 | 15:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2232 | 15:02 Bergamo station | 0h37 | 15:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 22654 · Regionale TRENORD 2634 | 15:18 Bergamo station | 1h17 | 16:35 Milan Centrale | 1 change | |
Autobus TRENORD 51A · Regionale TRENORD 22658 · Regionale TRENORD 10610 | 15:44 Bergamo Ospedale | 1h29 | 17:13 Milano Lambrate | 2 changes | |
Autobus TRENORD 62A · Regionale TRENORD 25862 | 16:01 Bergamo Ospedale | 1h20 | 17:21 Milano Greco Pirelli | 1 change | |
Autobus TRENORD 1733A · Regionale TRENORD 2276 | 16:01 Bergamo Ospedale | 1h19 | 17:20 Milano Lambrate | 1 change | |
Autobus TRENORD 62A · Regionale TRENORD 25862 | 16:01 Bergamo Ospedale | 1h30 | 17:31 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2234 | 16:02 Bergamo station | 0h48 | 16:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2234 | 16:02 Bergamo station | 0h37 | 16:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 22658 · Regionale TRENORD 10610 | 16:18 Bergamo station | 0h55 | 17:13 Milano Lambrate | 1 change | |
Regionale TRENORD 2276 | 16:40 Bergamo station | 0h40 | 17:20 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2276 | 16:40 Bergamo station | 1h00 | 17:40 Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 66A · Regionale TRENORD 25866 | 17:01 Bergamo Ospedale | 1h20 | 18:21 Milano Greco Pirelli | 1 change | |
Autobus TRENORD 1735A · Regionale TRENORD 2278 | 17:01 Bergamo Ospedale | 1h19 | 18:20 Milano Lambrate | 1 change | |
Autobus TRENORD 66A · Regionale TRENORD 25866 | 17:01 Bergamo Ospedale | 1h30 | 18:31 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2236 | 17:02 Bergamo station | 0h48 | 17:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2236 | 17:02 Bergamo station | 0h37 | 17:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2278 | 17:40 Bergamo station | 0h40 | 18:20 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2278 | 17:40 Bergamo station | 1h00 | 18:40 Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 1737A · Regionale TRENORD 2280 | 18:01 Bergamo Ospedale | 1h19 | 19:20 Milano Lambrate | 1 change | |
Autobus TRENORD 70A · Regionale TRENORD 25870 | 18:01 Bergamo Ospedale | 1h20 | 19:21 Milano Greco Pirelli | 1 change | |
Autobus TRENORD 70A · Regionale TRENORD 25870 | 18:01 Bergamo Ospedale | 1h30 | 19:31 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2238 | 18:02 Bergamo station | 0h37 | 18:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2238 | 18:02 Bergamo station | 0h48 | 18:50 Milan Centrale | 0 changesdirect | |
Autobus TRENORD 72A · Regionale TRENORD 25872 | 18:21 Bergamo Ospedale | 1h30 | 19:51 Milano Greco Pirelli | 1 change | |
Autobus TRENORD 72A · Regionale TRENORD 25872 | 18:21 Bergamo Ospedale | 1h40 | 20:01 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2280 | 18:40 Bergamo station | 1h04 | 19:44 Milan Porta Garibaldi | 0 changesdirect | |
Regionale TRENORD 2280 | 18:40 Bergamo station | 0h40 | 19:20 Milano Lambrate | 0 changesdirect | |
Autobus TRENORD 1739A · Regionale TRENORD 2282 | 19:01 Bergamo Ospedale | 1h19 | 20:20 Milano Lambrate | 1 change | |
Autobus TRENORD 74A · Regionale TRENORD 25874 | 19:01 Bergamo Ospedale | 1h20 | 20:21 Milano Greco Pirelli | 1 change | |
Autobus TRENORD 74A · Regionale TRENORD 25874 | 19:01 Bergamo Ospedale | 1h30 | 20:31 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2240 | 19:02 Bergamo station | 0h48 | 19:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2240 | 19:02 Bergamo station | 0h37 | 19:39 Milano Lambrate | 0 changesdirect | |
Autobus TRENORD 65A · Regionale TRENORD 2242 | 19:19 Bergamo Ospedale | 1h20 | 20:39 Milano Lambrate | 1 change | |
Regionale TRENORD 2282 | 19:40 Bergamo station | 0h40 | 20:20 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2282 | 19:40 Bergamo station | 1h00 | 20:40 Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 78A · Regionale TRENORD 25878 | 20:01 Bergamo Ospedale | 1h20 | 21:21 Milano Greco Pirelli | 1 change | |
Autobus TRENORD 78A · Regionale TRENORD 25878 | 20:01 Bergamo Ospedale | 1h30 | 21:31 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2242 | 20:02 Bergamo station | 0h37 | 20:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2242 | 20:02 Bergamo station | 0h48 | 20:50 Milan Centrale | 0 changesdirect | |
Autobus TRENORD 69A · Regionale TRENORD 2284 | 20:14 Bergamo Ospedale | 1h06 | 21:20 Milano Lambrate | 1 change | |
Regionale TRENORD 2284 | 20:40 Bergamo station | 0h40 | 21:20 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2284 | 20:40 Bergamo station | 1h00 | 21:40 Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 82A · Regionale TRENORD 25882 | 21:01 Bergamo Ospedale | 1h30 | 22:31 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 82A · Regionale TRENORD 25882 | 21:01 Bergamo Ospedale | 1h20 | 22:21 Milano Greco Pirelli | 1 change | |
Regionale TRENORD 2244 | 21:02 Bergamo station | 0h37 | 21:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2244 | 21:02 Bergamo station | 0h48 | 21:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 22678 · Regionale TRENORD 2646 | 21:18 Bergamo station | 1h17 | 22:35 Milan Centrale | 1 change | |
Autobus TRENORD 86A · Regionale TRENORD 25886 | 21:49 Bergamo station | 1h32 | 23:21 Milano Greco Pirelli | 1 change | |
Autobus TRENORD 86A · Regionale TRENORD 25886 | 22:01 Bergamo Ospedale | 1h30 | 23:31 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 86A · Regionale TRENORD 25886 | 22:01 Bergamo Ospedale | 1h20 | 23:21 Milano Greco Pirelli | 1 change | |
| Saturday 10 October | |||||
Regionale TRENORD 2212 | 5:00 Bergamo station | 0h50 | 5:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2212 | 5:00 Bergamo station | 0h39 | 5:39 Milano Lambrate | 0 changesdirect | |
Autobus TRENORD 18A · Regionale TRENORD 25818 | 5:01 Bergamo Ospedale | 1h28 | 6:29 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 20A · Regionale TRENORD 25820 | 5:31 Bergamo Ospedale | 1h28 | 6:59 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 22A · Regionale TRENORD 25822 | 6:01 Bergamo Ospedale | 1h28 | 7:29 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2214 | 6:02 Bergamo station | 0h37 | 6:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2214 | 6:02 Bergamo station | 0h48 | 6:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 22618 · Regionale TRENORD 2616 | 6:18 Bergamo station | 1h17 | 7:35 Milan Centrale | 1 change | |
Autobus TRENORD 24A · Regionale TRENORD 25824 | 6:31 Bergamo Ospedale | 1h28 | 7:59 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 24A · Regionale TRENORD 25824 · S9 TRENORD 24925 | 6:31 Bergamo Ospedale | 1h53 | 8:24 Milano Romolo | 2 changes | |
Autobus TRENORD 26A · Regionale TRENORD 25826 | 7:01 Bergamo Ospedale | 1h28 | 8:29 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 26A · Regionale TRENORD 25826 | 7:01 Bergamo Ospedale | 1h20 | 8:21 Milano Greco Pirelli | 1 change | |
Regionale TRENORD 2216 | 7:02 Bergamo station | 0h48 | 7:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2216 | 7:02 Bergamo station | 0h37 | 7:39 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 22622 · Regionale TRENORD 2618 | 7:18 Bergamo station | 1h17 | 8:35 Milan Centrale | 1 change | |
Autobus TRENORD 17A · Regionale TRENORD 2218 | 7:29 Bergamo Ospedale | 1h10 | 8:39 Milano Lambrate | 1 change | |
Autobus TRENORD 17A · Regionale TRENORD 2218 | 7:29 Bergamo Ospedale | 1h21 | 8:50 Milan Centrale | 1 change | |
Autobus TRENORD 30A · Regionale TRENORD 25830 | 8:01 Bergamo Ospedale | 1h28 | 9:29 Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 30A · Regionale TRENORD 25830 | 8:01 Bergamo Ospedale | 1h20 | 9:21 Milano Greco Pirelli | 1 change | |
Regionale TRENORD 2218 | 8:02 Bergamo station | 0h48 | 8:50 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2218 | 8:02 Bergamo station | 0h37 | 8:39 Milano Lambrate | 0 changesdirect | |
This is the last train of the day. | |||||
Find all the dates and times for this journey

Discover the best of Milan — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Milan trip today.
One of Milan’s leading art museums, with Italian masterpieces from the Middle Ages to the 20th century in a historic palace.
The museum visit centres on Leonardo’s Last Supper, one of the city’s most sought-after cultural experiences.
A science and technology museum with Leonardo galleries, transport exhibits and hands-on displays in a former monastery.
Milan’s central square is the city’s main meeting point, framed by the cathedral, museums and lively pedestrian spaces.
This redeveloped canal district is popular for waterside walks, old railings, independent shops and a lively Milan atmosphere.
A refined district of elegant streets, Liberty villas and designer shops, ideal for architecture lovers and quieter walks.
Saffron risotto cooked to a creamy texture with butter and cheese. A signature Milanese dish linked to Lombardy’s love of rich, elegant rice dishes.
Breaded veal cutlet fried in butter until crisp. One of Milan’s best-known classics, traditionally served bone-in and prized for its simple, rich flavour.
Slow-braised veal shanks, often with vegetables and wine, usually served with risotto. A historic Lombard comfort dish known for tender meat and marrow.
Refined two-Michelin-star dining by Carlo Cracco in an elegant setting inside Galleria Vittorio Emanuele II. Known for modern Italian tasting menus.
Historic Milanese restaurant famed for ossobuco and Risotto alla Milanese. Formal, old-school atmosphere with strong ties to local culinary tradition.
Traditional trattoria celebrated for classic Milanese dishes including cotoletta and cassoeula. Warm, established venue with a loyal local following.
Moderate for Italy: hotels and dining run higher than many cities, but public transport is affordable and budget eats are easy to find.
Service is often included or modest. Round up or leave €1-2 in cafés, 5-10% in restaurants for good service, and round up taxi fares.
Official public transport app
Milano Centrale -> Duomo, 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.
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.
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.">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.
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 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.
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.
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.
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.
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.">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.
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.

Most Bergamo to Milan trains use the Bergamo to Milano Centrale station pair, with some services arriving at Milano Lambrate. Use this guide to compare Bergamo and Milan train stations on this route, check city-centre transport, alongside checking practicalities like train station facilities and services.
Bergamo has practical services for this route, including Wifi, Lockers, Parking, Dining, ATM, Taxis, Accessibility, WC, Hotel, Lost and Found Office, Ticket Office, Bike Parking, Bike Rental, Car Rental, Information Desk and Luggage Carts.
Food options include: Ristorante La Bruschetta, Osteria D'Ambrosio
Free. ATMs are available in the train station.
Ticket office support is available at Bergamo. Information desks are located in the main hall.
Luggage storage is available at Bergamo. Lost and found is available at the station.
Available at Bergamo: Parking, Taxis, WC.
Available at Bergamo: Bike Parking, Bike Rental, Car Rental.
Accessibility facilities are available at Bergamo: Elevators, ramps, restrooms.
Nearby hotels include Hotel Excelsior San Marco, Mercure Bergamo Centro Palazzo Dolci, Hotel Cappello d'Oro.
Milano Centrale is 2 km from Milan city centre. Public transport options include:
Milano Centrale has practical services for this route, including Wifi, Lockers, Parking, Dining, ATM, Taxis, Accessibility, WC, Hotel, Ticket Office, Bike Parking, Bike Rental, Car Rental and Information Desk.
Food options include: Venchi, Panzera Coffee, Burger King, Bar Motta, Caffè Napoli, VyTA Boulangerie, Spontini, Starbucks, Dispensa Emilia, McDonald's, & many more
Free WiFi in the station. ATMs are there are ATMs in various locations around the station.
The ticket office is open Mon - Sun: 05:50 - 22:20. Information desks are located next to the ticket office on the ground floor in the shopping gallery.
Luggage storage is 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.
Available at Milano Centrale: Parking, Taxis, WC.
Available at Milano Centrale: Bike Parking, Bike Rental, Car Rental.
Accessibility facilities are available at Milano Centrale: Station is wheelchair accessible, has elevators and the Sala Blu, Trenitalia's office of assistance for disabled travelers, is next to Platform 4.
Nearby hotels include Glam Hotel Milano, NYX MIlan, iQ Hotel Milano.
Milano Lambrate is 4 km from Milan city centre. Public transport options include:
Milano Lambrate has practical services for this route, including Wifi, Lockers, Parking, Dining, ATM, Taxis, Accessibility, WC, Hotel, Lost and Found Office, Ticket Office, Bike Parking, Bike Rental, Car Rental, Information Desk and Luggage Carts.
Food options include: Ristorante Pizzeria Il Girasole, Osteria Lambrate
Free. ATMs are available in the train station.
Ticket office support is available at Milano Lambrate. Information desks are located in the main hall.
Luggage storage is available at Milano Lambrate. Lost and found is available at the station.
Available at Milano Lambrate: Parking, Taxis, WC.
Available at Milano Lambrate: Bike Parking, Bike Rental, Car Rental.
Accessibility facilities are available at Milano Lambrate: Elevators, ramps.
Nearby hotels include MEININGER Milano Lambrate, Hotel Gamma, Hotel Lugano.
Milano Forlanini is 3 km from Milan city centre. Public transport options include:
Milano Forlanini has practical services for this route, including Parking, Dining, Taxis, Accessibility, WC, Hotel, Ticket Office, Bike Parking and Luggage Carts.
Food and drink options are available at Milano Forlanini.
Ticket office support is available at Milano Forlanini.
Available at Milano Forlanini: Parking, Taxis, WC.
Available at Milano Forlanini: Bike Parking.
Accessibility facilities are available at Milano Forlanini: Elevators, ramps.
Nearby hotels include Hotel Mistral, Hotel Molise 2, Hotel Del Sud.
Here are some other resources that might have the information you need