The average train between Bergamo and Milano Porta Garibaldi takes 58 min and the fastest train takes 52 min. There is a train service every few hours from Bergamo to Milano Porta Garibaldi. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run hourly between Bergamo and Milano Porta Garibaldi. The earliest departure is at 4:56 AM at night, and the last departure from Bergamo is at 10:56 PM which arrives into Milano Porta Garibaldi at 11:58 PM. All services require a transfer at Milano Lambrate and take an average of 58 min. The schedules shown below are for the next available departures.

1h 8m • 1 change

55 min • 1 change

59 min • 1 change

1h 1m • 1 change

1h 28m • 1 change

57 min • 1 change

59 min • 1 change

58 min • 1 change

1h 28m • 1 change

57 min • 1 change

59 min • 1 change

58 min • 1 change
Want to know about travelling from Bergamo to Milano Porta Garibaldi? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Bergamo to Milano Porta Garibaldi. However, there are services departing from Bergamo station and arriving at Milano Porta Garibaldi station via Milano Lambrate. The journey, including transfers, takes approximately 58 min.
Bergamo to Milano Porta Garibaldi train services, operated by Trenord, depart from Bergamo station.
Bergamo to Milano Porta Garibaldi train services, operated by Trenord, arrive at Garibaldi Fs station.
Book your Bergamo to Milano Porta Garibaldi train tickets online with Trenord and ATM.
The distance between Bergamo and Milano Porta Garibaldi is 44.1 km. The road distance is 54 km.
Trenord operates a train from Bergamo to Milano Porta Garibaldi 5 times a day. Tickets cost €5–7 and the journey takes 1h.