The cheapest and fastest trains from Bergamo to Milan
- Cheapest price on 13 Nov
- DKK 43
- Average ticket price on 13 Nov
- DKK 49
- Fastest journey on 13 Nov
- 37 m
- Average journey duration on 13 Nov
- 37 m
- Trains on 13 Nov
- 106
- 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 DKK 49 if you buy it on the day, but you can find cheap train tickets today for only DKK 43.
On Fri, 13 Nov, we found 106 trains from Bergamo to Milan, including 53 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 22A · 25822 · 249236:01 AM 1h45 Bergamo Ospedale 7:46 AM Milano Porta Romana DKK 43 1 One-way 2 changes
Autobus TRENORD 38A · 2583810:01 AM 1h28 Bergamo Ospedale 11:29 AM Milan Porta Garibaldi DKK 43 1 One-way 1 change
Autobus TRENORD 82A · 258829:01 PM 1h28 Bergamo Ospedale 10:29 PM Milan Porta Garibaldi DKK 43 1 One-way 1 change
Autobus TRENORD 70A · 258706:01 PM 1h28 Bergamo Ospedale 7:29 PM Milan Porta Garibaldi DKK 43 1 One-way 1 change
Autobus TRENORD 26A · 25826 · 28157:01 AM 1h39 Bergamo Ospedale 8:40 AM Milan Centrale DKK 43 1 One-way 2 changes
22428:02 PM 0h37 Bergamo station 8:39 PM Milano Lambrate DKK 51 1 One-way 0 changes
22365:02 PM 0h37 Bergamo station 5:39 PM Milano Lambrate DKK 51 1 One-way 0 changes
22407:02 PM 0h37 Bergamo station 7:39 PM Milano Lambrate DKK 51 1 One-way 0 changes
222210:02 AM 0h37 Bergamo station 10:39 AM Milano Lambrate DKK 51 1 One-way 0 changes
22302:02 PM 0h37 Bergamo station 2:39 PM Milano Lambrate DKK 51 1 One-way 0 changes
Journey information
Overview: Train from Bergamo to Milan
Trains from Bergamo to Milan run on average 59 times per day, taking around 47m. Cheap train tickets for this journey start at DKK 48 but you can travel from only DKK 13 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 DKK 48 |
Trains per day 59 |
Direct trains 48 |
Fastest train 37m |
First train 12:04 AM |
Last train 11:56 PM |
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 |
Live departures
Bergamo to Milan train times
The table below shows live departures for Bergamo to Milan trains for today, Thursday, 12 November. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
88488 | 5:54 AM Bergamo station | 0h45 | 6:39 AM Milano Lambrate | 0 changesdirect | |
88488 | 5:54 AM Bergamo station | 0h56 | 6:50 AM Milan Centrale | 0 changesdirect | |
Autobus TRENORD 22A · 25822 · 24923 | 6:01 AM Bergamo Ospedale | 1h45 | 7:46 AM Milano Porta Romana | 2 changes | |
Autobus TRENORD 22A · 25822 | 6:01 AM Bergamo Ospedale | 1h28 | 7:29 AM Milan Porta Garibaldi | 1 change | |
2256 | 6:30 AM Bergamo station | 1h02 | 7:32 AM Milan Porta Garibaldi | 0 changesdirect | |
2256 | 6:30 AM Bergamo station | 0h41 | 7:11 AM Milano Lambrate | 0 changesdirect | |
Autobus TRENORD 24A · 25824 | 6:31 AM Bergamo Ospedale | 1h28 | 7:59 AM Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 15A · 2258 | 6:44 AM Bergamo Ospedale | 1h12 | 7:56 AM Milano Lambrate | 1 change | |
88490 | 6:54 AM Bergamo station | 0h45 | 7:39 AM Milano Lambrate | 0 changesdirect | |
88490 | 6:54 AM Bergamo station | 0h56 | 7:50 AM Milan Centrale | 0 changesdirect | |
Autobus TRENORD 26A · 25826 · 2815 | 7:01 AM Bergamo Ospedale | 1h39 | 8:40 AM Milan Centrale | 2 changes | |
Autobus TRENORD 26A · 25826 | 7:01 AM Bergamo Ospedale | 1h28 | 8:29 AM Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 26A · 25826 | 7:01 AM Bergamo Ospedale | 1h20 | 8:21 AM Milano Greco Pirelli | 1 change | |
2258 | 7:13 AM Bergamo station | 0h43 | 7:56 AM Milano Lambrate | 0 changesdirect | |
2258 | 7:13 AM Bergamo station | 1h05 | 8:18 AM Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 17A · 2218 | On time 7:29 AM Bergamo Ospedale | 1h21 | 8:50 AM Milan Centrale | 1 change | |
Autobus TRENORD 17A · 2218 | 7:29 AM Bergamo Ospedale | 1h10 | 8:39 AM Milano Lambrate | 1 change | |
2206 | On time 7:40 AM Bergamo station | 0h50 | 8:30 AM Milan Centrale | 0 changesdirect | |
Autobus TRENORD 30A · 25830 | 8:01 AM Bergamo Ospedale | 1h28 | 9:29 AM Milan Porta Garibaldi | 1 change | |
2218 | 8:02 AM Bergamo station | 0h37 | 8:39 AM Milano Lambrate | 0 changesdirect | |
2218 | On time 8:02 AM Bergamo station | 0h48 | 8:50 AM Milan Centrale | 0 changesdirect | |
Autobus TRENORD 21A · 2260 | 8:14 AM Bergamo Ospedale | 1h07 | 9:21 AM Milano Lambrate | 1 change | |
2260 | 8:40 AM Bergamo station | 0h41 | 9:21 AM Milano Lambrate | 0 changesdirect | |
2260 | 8:40 AM Bergamo station | 1h00 | 9:40 AM Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 34A · 25834 | 9:01 AM Bergamo Ospedale | 1h28 | 10:29 AM Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 34A · 25834 | 9:01 AM Bergamo Ospedale | 1h20 | 10:21 AM Milano Greco Pirelli | 1 change | |
Autobus TRENORD 1719A · 2262 | 9:01 AM Bergamo Ospedale | 1h20 | 10:21 AM Milano Lambrate | 1 change | |
2220 | On time 9:02 AM Bergamo station | 0h37 | 9:39 AM Milano Lambrate | 0 changesdirect | |
2220 | On time 9:02 AM Bergamo station | 0h48 | 9:50 AM Milan Centrale | 0 changesdirect | |
2262 | 9:40 AM Bergamo station | 1h00 | 10:40 AM Milan Porta Garibaldi | 0 changesdirect | |
2262 | 9:40 AM Bergamo station | 0h41 | 10:21 AM Milano Lambrate | 0 changesdirect | |
Autobus TRENORD 38A · 25838 | 10:01 AM Bergamo Ospedale | 1h28 | 11:29 AM Milan Porta Garibaldi | 1 change | |
2222 | 10:02 AM Bergamo station | 0h48 | 10:50 AM Milan Centrale | 0 changesdirect | |
2222 | 10:02 AM Bergamo station | 0h37 | 10:39 AM Milano Lambrate | 0 changesdirect | |
22634 · 2624 | 10:18 AM Bergamo station | 1h17 | 11:35 AM Milan Centrale | 1 change | |
Autobus TRENORD 42A · 25842 | 11:01 AM Bergamo Ospedale | 1h28 | 12:29 PM Milan Porta Garibaldi | 1 change | |
2224 | 11:02 AM Bergamo station | 0h48 | 11:50 AM Milan Centrale | 0 changesdirect | |
2224 | 11:02 AM Bergamo station | 0h37 | 11:39 AM Milano Lambrate | 0 changesdirect | |
22638 · 2626 | 11:18 AM Bergamo station | 1h17 | 12:35 PM Milan Centrale | 1 change | |
Autobus TRENORD 46A · 25846 | 12:01 PM Bergamo Ospedale | 1h28 | 1:29 PM Milan Porta Garibaldi | 1 change | |
2226 | 12:02 PM Bergamo station | 0h48 | 12:50 PM Milan Centrale | 0 changesdirect | |
2226 | 12:02 PM Bergamo station | 0h37 | 12:39 PM Milano Lambrate | 0 changesdirect | |
22642 · 2628 | 12:18 PM Bergamo station | 1h17 | 1:35 PM Milan Centrale | 1 change | |
Autobus TRENORD 39A · 22646 · 10608 | 12:44 PM Bergamo Ospedale | 1h29 | 2:13 PM Milano Lambrate | 2 changes | |
Autobus TRENORD 50A · 25850 | 1:01 PM Bergamo Ospedale | 1h28 | 2:29 PM Milan Porta Garibaldi | 1 change | |
2228 | 1:02 PM Bergamo station | 0h37 | 1:39 PM Milano Lambrate | 0 changesdirect | |
2228 | 1:02 PM Bergamo station | 0h48 | 1:50 PM Milan Centrale | 0 changesdirect | |
22646 · 10608 | 1:18 PM Bergamo station | 0h55 | 2:13 PM Milano Lambrate | 1 change | |
Autobus TRENORD 54A · 25854 | 2:01 PM Bergamo Ospedale | 1h28 | 3:29 PM Milan Porta Garibaldi | 1 change | |
2230 | 2:02 PM Bergamo station | 0h37 | 2:39 PM Milano Lambrate | 0 changesdirect | |
2230 | 2:02 PM Bergamo station | 0h48 | 2:50 PM Milan Centrale | 0 changesdirect | |
22650 · 2632 | 2:18 PM Bergamo station | 1h17 | 3:35 PM Milan Centrale | 1 change | |
Autobus TRENORD 58A · 25858 | 3:01 PM Bergamo Ospedale | 1h28 | 4:29 PM Milan Porta Garibaldi | 1 change | |
2232 | 3:02 PM Bergamo station | 0h48 | 3:50 PM Milan Centrale | 0 changesdirect | |
2232 | 3:02 PM Bergamo station | 0h37 | 3:39 PM Milano Lambrate | 0 changesdirect | |
22654 · 2634 | 3:18 PM Bergamo station | 1h17 | 4:35 PM Milan Centrale | 1 change | |
Autobus TRENORD 51A · 22658 · 10610 | 3:44 PM Bergamo Ospedale | 1h29 | 5:13 PM Milano Lambrate | 2 changes | |
Autobus TRENORD 62A · 25862 | 4:01 PM Bergamo Ospedale | 1h20 | 5:21 PM Milano Greco Pirelli | 1 change | |
Autobus TRENORD 1733A · 2276 | 4:01 PM Bergamo Ospedale | 1h19 | 5:20 PM Milano Lambrate | 1 change | |
Autobus TRENORD 62A · 25862 | 4:01 PM Bergamo Ospedale | 1h28 | 5:29 PM Milan Porta Garibaldi | 1 change | |
2234 | 4:02 PM Bergamo station | 0h37 | 4:39 PM Milano Lambrate | 0 changesdirect | |
2234 | 4:02 PM Bergamo station | 0h48 | 4:50 PM Milan Centrale | 0 changesdirect | |
22658 · 10610 | 4:18 PM Bergamo station | 0h55 | 5:13 PM Milano Lambrate | 1 change | |
2276 | 4:40 PM Bergamo station | 0h40 | 5:20 PM Milano Lambrate | 0 changesdirect | |
2276 | 4:40 PM Bergamo station | 1h00 | 5:40 PM Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 1735A · 2278 | 5:01 PM Bergamo Ospedale | 1h19 | 6:20 PM Milano Lambrate | 1 change | |
Autobus TRENORD 66A · 25866 | 5:01 PM Bergamo Ospedale | 1h20 | 6:21 PM Milano Greco Pirelli | 1 change | |
Autobus TRENORD 66A · 25866 | 5:01 PM Bergamo Ospedale | 1h28 | 6:29 PM Milan Porta Garibaldi | 1 change | |
2236 | 5:02 PM Bergamo station | 0h48 | 5:50 PM Milan Centrale | 0 changesdirect | |
2236 | 5:02 PM Bergamo station | 0h37 | 5:39 PM Milano Lambrate | 0 changesdirect | |
2278 | 5:40 PM Bergamo station | 0h40 | 6:20 PM Milano Lambrate | 0 changesdirect | |
2278 | 5:40 PM Bergamo station | 1h00 | 6:40 PM Milan Porta Garibaldi | 0 changesdirect | |
Autobus TRENORD 1737A · 2280 | 6:01 PM Bergamo Ospedale | 1h19 | 7:20 PM Milano Lambrate | 1 change | |
Autobus TRENORD 70A · 25870 | 6:01 PM Bergamo Ospedale | 1h28 | 7:29 PM Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 70A · 25870 | 6:01 PM Bergamo Ospedale | 1h20 | 7:21 PM Milano Greco Pirelli | 1 change | |
2238 | 6:02 PM Bergamo station | 0h37 | 6:39 PM Milano Lambrate | 0 changesdirect | |
2238 | 6:02 PM Bergamo station | 0h48 | 6:50 PM Milan Centrale | 0 changesdirect | |
Autobus TRENORD 72A · 25872 · 25533 | 6:21 PM Bergamo Ospedale | 1h59 | 8:20 PM Milan Centrale | 2 changes | |
Autobus TRENORD 72A · 25872 | 6:21 PM Bergamo Ospedale | 1h38 | 7:59 PM Milan Porta Garibaldi | 1 change | |
2280 | 6:40 PM Bergamo station | 1h04 | 7:44 PM Milan Porta Garibaldi | 0 changesdirect | |
2280 | 6:40 PM Bergamo station | 0h40 | 7:20 PM Milano Lambrate | 0 changesdirect | |
Autobus TRENORD 74A · 25874 | 7:01 PM Bergamo Ospedale | 1h20 | 8:21 PM Milano Greco Pirelli | 1 change | |
Autobus TRENORD 74A · 25874 | 7:01 PM Bergamo Ospedale | 1h28 | 8:29 PM Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 1739A · 2282 | 7:01 PM Bergamo Ospedale | 1h19 | 8:20 PM Milano Lambrate | 1 change | |
2240 | 7:02 PM Bergamo station | 0h48 | 7:50 PM Milan Centrale | 0 changesdirect | |
2240 | 7:02 PM Bergamo station | 0h37 | 7:39 PM Milano Lambrate | 0 changesdirect | |
Autobus TRENORD 65A · 2242 | 7:19 PM Bergamo Ospedale | 1h31 | 8:50 PM Milan Centrale | 1 change | |
Autobus TRENORD 65A · 2242 | 7:19 PM Bergamo Ospedale | 1h20 | 8:39 PM Milano Lambrate | 1 change | |
2282 | 7:40 PM Bergamo station | 1h00 | 8:40 PM Milan Porta Garibaldi | 0 changesdirect | |
2282 | 7:40 PM Bergamo station | 0h40 | 8:20 PM Milano Lambrate | 0 changesdirect | |
Autobus TRENORD 78A · 25878 | 8:01 PM Bergamo Ospedale | 1h28 | 9:29 PM Milan Porta Garibaldi | 1 change | |
2242 | 8:02 PM Bergamo station | 0h48 | 8:50 PM Milan Centrale | 0 changesdirect | |
2242 | 8:02 PM Bergamo station | 0h37 | 8:39 PM Milano Lambrate | 0 changesdirect | |
Autobus TRENORD 69A · 2284 | 8:14 PM Bergamo Ospedale | 1h06 | 9:20 PM Milano Lambrate | 1 change | |
2284 | 8:40 PM Bergamo station | 1h00 | 9:40 PM Milan Porta Garibaldi | 0 changesdirect | |
2284 | 8:40 PM Bergamo station | 0h40 | 9:20 PM Milano Lambrate | 0 changesdirect | |
Autobus TRENORD 82A · 25882 | 9:01 PM Bergamo Ospedale | 1h28 | 10:29 PM Milan Porta Garibaldi | 1 change | |
2244 | 9:02 PM Bergamo station | 0h48 | 9:50 PM Milan Centrale | 0 changesdirect | |
2244 | 9:02 PM Bergamo station | 0h37 | 9:39 PM Milano Lambrate | 0 changesdirect | |
22678 · 2646 | 9:18 PM Bergamo station | 1h17 | 10:35 PM Milan Centrale | 1 change | |
Autobus TRENORD 86A · 25886 | 9:49 PM Bergamo station | 1h40 | 11:29 PM Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 86A · 25886 | 10:01 PM Bergamo Ospedale | 1h28 | 11:29 PM Milan Porta Garibaldi | 1 change | |
| Friday, 13 November | |||||
2212 | 5:00 AM Bergamo station | 0h39 | 5:39 AM Milano Lambrate | 0 changesdirect | |
2212 | 5:00 AM Bergamo station | 0h50 | 5:50 AM Milan Centrale | 0 changesdirect | |
Autobus TRENORD 18A · 25818 | 5:01 AM Bergamo Ospedale | 1h28 | 6:29 AM Milan Porta Garibaldi | 1 change | |
Autobus TRENORD 20A · 25820 | 5:31 AM Bergamo Ospedale | 1h28 | 6:59 AM Milan Porta Garibaldi | 1 change | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
How far in advance should I book train tickets from Bergamo to Milan?
Train companies: Regionale from Bergamo to Milan trainsRegionale trains will get you between Bergamo and Milan from DKK 13. With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Regionale
Companies, tickets, and onboard amenities between Bergamo and Milan
Review the details behind your booking, from operators and ticket rules to luggage, onboard amenities, accessibility, and route-specific travel policies.
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
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.
Which Bergamo station do trains to Milan leave from?
Getting to Bergamo from Bergamo city centre
Bergamo 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 and drink
Food options include: Ristorante La Bruschetta, Osteria D'Ambrosio
Wi-Fi and ATMs
Free. ATMs are available in the train station.
Tickets and information
Ticket office support is available at Bergamo. Information desks are located in the main hall.
Luggage and lost property
Luggage storage is available at Bergamo. Lost and found is available at the station.
Parking, taxis and toilets
Available at Bergamo: Parking, Taxis, WC.
Bike and car services
Available at Bergamo: Bike Parking, Bike Rental, Car Rental.
Accessibility
Accessibility facilities are available at Bergamo: Elevators, ramps, restrooms.
Shops, hotels and contact
Nearby hotels include Hotel Excelsior San Marco, Mercure Bergamo Centro Palazzo Dolci, Hotel Cappello d'Oro.
Which Milan station do trains from Bergamo arrive at?
Getting to Milano Centrale from Milan city centre
Milano Centrale is 2 km from Milan city centre. Public transport options include:
Milano Centrale train station facilities and services
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 and drink
Food options include: Venchi, Panzera Coffee, Burger King, Bar Motta, Caffè Napoli, VyTA Boulangerie, Spontini, Starbucks, Dispensa Emilia, McDonald's, & many more
Wi-Fi and ATMs
Free WiFi in the station. ATMs are there are ATMs in various locations around the station.
Tickets and information
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 and lost property
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.
Parking, taxis and toilets
Available at Milano Centrale: Parking, Taxis, WC.
Bike and car services
Available at Milano Centrale: Bike Parking, Bike Rental, Car Rental.
Accessibility
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.
Shops, hotels and contact
Nearby hotels include Glam Hotel Milano, NYX MIlan, iQ Hotel Milano.
Getting to Milano Lambrate from Milan city centre
Milano Lambrate is 4 km from Milan city centre. Public transport options include:
Milano Lambrate train station facilities and services
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 and drink
Food options include: Ristorante Pizzeria Il Girasole, Osteria Lambrate
Wi-Fi and ATMs
Free. ATMs are available in the train station.
Tickets and information
Ticket office support is available at Milano Lambrate. Information desks are located in the main hall.
Luggage and lost property
Luggage storage is available at Milano Lambrate. Lost and found is available at the station.
Parking, taxis and toilets
Available at Milano Lambrate: Parking, Taxis, WC.
Bike and car services
Available at Milano Lambrate: Bike Parking, Bike Rental, Car Rental.
Accessibility
Accessibility facilities are available at Milano Lambrate: Elevators, ramps.
Shops, hotels and contact
Nearby hotels include MEININGER Milano Lambrate, Hotel Gamma, Hotel Lugano.
Getting to Milano Forlanini from Milan city centre
Milano Forlanini is 3 km from Milan city centre. Public transport options include:
Milano Forlanini train station facilities and services
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
Food and drink options are available at Milano Forlanini.
Tickets and information
Ticket office support is available at Milano Forlanini.
Parking, taxis and toilets
Available at Milano Forlanini: Parking, Taxis, WC.
Bike and car services
Available at Milano Forlanini: Bike Parking.
Accessibility
Accessibility facilities are available at Milano Forlanini: Elevators, ramps.
Shops, hotels and contact
Nearby hotels include Hotel Mistral, Hotel Molise 2, Hotel Del Sud.
More options for your journey from Bergamo to Milan
Here are some other resources that might have the information you need
