The cheapest and fastest trains from Treviglio to Milan
Cheapest price
£4
Average price
£4
Fastest journey
24 m
Average duration
26 m
Trains per day
3
Distance
32 km
The best way to find a cheap train ticket from Treviglio to Milan is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Treviglio to Milan will cost around £4 if you buy it on the day, but you can find cheap train tickets today for only £4.
Of the 3 trains that leave Treviglio for Milan every day 3 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct trains cover the 32 km distance in an average of 26 m but if you time it right, some trains will get you there in just 24 m .
The slowest trains will take 30 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.






Live departures
Treviglio to Milan train times
The table below shows live departures for Treviglio to Milan trains for today, Friday 9 January. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
Regionale TRENORD 2628 | 12:05 Treviglio station | 0h21 | 12:26 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2628 | 12:05 Treviglio station | 0h33 | 12:38 Milan Centrale | 0 changesdirect | |
S5 TRENORD 24544 | 12:10 Treviglio station | 0h37 | 12:47 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 10926 | 12:35 Treviglio station | 0h24 | 12:59 Milano Lambrate | 0 changesdirect | |
S5 TRENORD 24546 | 12:40 Treviglio station | 0h37 | 13:17 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 22646 · Regionale TRENORD 10608 | 12:42 Treviglio Ovest | 0h31 | 13:13 Milano Lambrate | 1 change | |
Regionale TRENORD 10608 | 12:55 Treviglio station | 0h18 | 13:13 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 10608 | 12:55 Treviglio station | 0h37 | 13:32 Milan Porta Garibaldi | 0 changesdirect | |
Regionale TRENORD 2600 | 13:05 Treviglio station | 0h33 | 13:38 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2600 | 13:05 Treviglio station | 0h21 | 13:26 Milano Lambrate | 0 changesdirect | |
S5 TRENORD 24548 | 13:10 Treviglio station | 0h37 | 13:47 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 22648 · Regionale TRENORD 10928 | 13:12 Treviglio Ovest | 0h47 | 13:59 Milano Lambrate | 1 change | |
Regionale TRENORD 10928 | 13:35 Treviglio station | 0h24 | 13:59 Milano Lambrate | 0 changesdirect | |
S5 TRENORD 24550 | 13:40 Treviglio station | 0h37 | 14:17 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 22650 · Regionale TRENORD 2632 | 13:42 Treviglio Ovest | 0h44 | 14:26 Milano Lambrate | 1 change | |
Regionale TRENORD 2632 | 14:05 Treviglio station | 0h21 | 14:26 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2632 | 14:05 Treviglio station | 0h33 | 14:38 Milan Centrale | 0 changesdirect | |
S5 TRENORD 24552 | 14:10 Treviglio station | 0h37 | 14:47 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 10930 | 14:35 Treviglio station | 0h24 | 14:59 Milano Lambrate | 0 changesdirect | |
S5 TRENORD 24554 | 14:40 Treviglio station | 0h37 | 15:17 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 22654 · Regionale TRENORD 2634 | 14:42 Treviglio Ovest | 0h44 | 15:26 Milano Lambrate | 1 change | |
Regionale TRENORD 2634 | 15:05 Treviglio station | 0h21 | 15:26 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2634 | 15:05 Treviglio station | 0h33 | 15:38 Milan Centrale | 0 changesdirect | |
S5 TRENORD 24556 | 15:10 Treviglio station | 0h37 | 15:47 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 10932 | 15:35 Treviglio station | 0h24 | 15:59 Milano Lambrate | 0 changesdirect | |
S5 TRENORD 24558 | 15:40 Treviglio station | 0h37 | 16:17 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 22658 · Regionale TRENORD 10610 | 15:42 Treviglio Ovest | 0h31 | 16:13 Milano Lambrate | 1 change | |
Regionale TRENORD 10610 | 15:55 Treviglio station | 0h18 | 16:13 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 10610 | 15:55 Treviglio station | 0h37 | 16:32 Milan Porta Garibaldi | 0 changesdirect | |
Regionale TRENORD 2276 | 15:58 Treviglio Ovest | 0h42 | 16:40 Milan Porta Garibaldi | 0 changesdirect | |
Regionale TRENORD 2276 | 15:58 Treviglio Ovest | 0h22 | 16:20 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2636 | 16:05 Treviglio station | 0h21 | 16:26 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2636 | 16:05 Treviglio station | 0h33 | 16:38 Milan Centrale | 0 changesdirect | |
S5 TRENORD 24560 | 16:10 Treviglio station | 0h37 | 16:47 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 10934 | 16:35 Treviglio station | 0h24 | 16:59 Milano Lambrate | 0 changesdirect | |
S5 TRENORD 24562 | 16:40 Treviglio station | 0h37 | 17:17 Milano Forlanini | 0 changesdirect | |
S6 TRENORD 24688 | 16:55 Treviglio station | 0h37 | 17:32 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 2278 | 16:58 Treviglio Ovest | 0h42 | 17:40 Milan Porta Garibaldi | 0 changesdirect | |
Regionale TRENORD 2278 | 16:58 Treviglio Ovest | 0h22 | 17:20 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2638 | 17:05 Treviglio station | 0h21 | 17:26 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2638 | 17:05 Treviglio station | 0h33 | 17:38 Milan Centrale | 0 changesdirect | |
S5 TRENORD 24564 | 17:10 Treviglio station | 0h37 | 17:47 Milano Forlanini | 0 changesdirect | |
S6 TRENORD 24690 | 17:25 Treviglio station | 0h37 | 18:02 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 10936 | 17:31 Treviglio station | 0h28 | 17:59 Milano Lambrate | 0 changesdirect | |
S5 TRENORD 24566 | 17:40 Treviglio station | 0h37 | 18:17 Milano Forlanini | 0 changesdirect | |
S6 TRENORD 24692 | 17:55 Treviglio station | 0h37 | 18:32 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 2280 | 17:58 Treviglio Ovest | 0h22 | 18:20 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2280 | 17:58 Treviglio Ovest | 0h46 | 18:44 Milan Porta Garibaldi | 0 changesdirect | |
Regionale TRENORD 2640 | 18:05 Treviglio station | 0h21 | 18:26 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2640 | 18:05 Treviglio station | 0h33 | 18:38 Milan Centrale | 0 changesdirect | |
S5 TRENORD 24568 | 18:10 Treviglio station | 0h37 | 18:47 Milano Forlanini | 0 changesdirect | |
S6 TRENORD 24694 | 18:25 Treviglio station | 0h37 | 19:02 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 10938 | 18:35 Treviglio station | 0h24 | 18:59 Milano Lambrate | 0 changesdirect | |
S5 TRENORD 24570 | 18:40 Treviglio station | 0h37 | 19:17 Milano Forlanini | 0 changesdirect | |
S6 TRENORD 24696 | 18:55 Treviglio station | 0h37 | 19:32 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 2282 | 18:58 Treviglio Ovest | 0h42 | 19:40 Milan Porta Garibaldi | 0 changesdirect | |
Regionale TRENORD 2282 | 18:58 Treviglio Ovest | 0h22 | 19:20 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2642 | 19:05 Treviglio station | 0h21 | 19:26 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2642 | 19:05 Treviglio station | 0h33 | 19:38 Milan Centrale | 0 changesdirect | |
S5 TRENORD 24572 | 19:10 Treviglio station | 0h37 | 19:47 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 2696 | 19:11 Treviglio station | 0h24 | 19:35 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2696 | 19:11 Treviglio station | 0h47 | 19:58 Milan Porta Garibaldi | 0 changesdirect | |
S6 TRENORD 24698 | 19:25 Treviglio station | 0h37 | 20:02 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 10940 | 19:35 Treviglio station | 0h24 | 19:59 Milano Lambrate | 0 changesdirect | |
S5 TRENORD 24574 | 19:40 Treviglio station | 0h37 | 20:17 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 2284 | 19:58 Treviglio Ovest | 0h22 | 20:20 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2284 | 19:58 Treviglio Ovest | 0h42 | 20:40 Milan Porta Garibaldi | 0 changesdirect | |
Regionale TRENORD 2644 | 20:05 Treviglio station | 0h21 | 20:26 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2644 | 20:05 Treviglio station | 0h33 | 20:38 Milan Centrale | 0 changesdirect | |
S5 TRENORD 24576 | 20:10 Treviglio station | 0h37 | 20:47 Milano Forlanini | 0 changesdirect | |
S5 TRENORD 24578 | 20:40 Treviglio station | 0h37 | 21:17 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 22678 · Regionale TRENORD 2646 | 20:42 Treviglio Ovest | 0h44 | 21:26 Milano Lambrate | 1 change | |
Regionale TRENORD 2646 | 21:05 Treviglio station | 0h33 | 21:38 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2646 | 21:05 Treviglio station | 0h21 | 21:26 Milano Lambrate | 0 changesdirect | |
S5 TRENORD 24580 | 21:10 Treviglio station | 0h37 | 21:47 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 10944 | 21:35 Treviglio station | 0h24 | 21:59 Milano Lambrate | 0 changesdirect | |
S5 TRENORD 24582 | 21:40 Treviglio station | 0h37 | 22:17 Milano Forlanini | 0 changesdirect | |
Regionale TRENORD 2648 | 22:05 Treviglio station | 0h33 | 22:38 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2648 | 22:05 Treviglio station | 0h21 | 22:26 Milano Lambrate | 0 changesdirect | |
S5 TRENORD 24584 | 22:10 Treviglio station | 0h37 | 22:47 Milano Forlanini | 0 changesdirect | |
S5 TRENORD 24586 | 22:40 Treviglio station | 0h37 | 23:17 Milano Forlanini | 0 changesdirect | |
| Saturday 10 January | |||||
![]() | 11:35 Treviglio | 0h24 | 11:59 Milan | 0 changesdirect | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Treviglio to Milan by train
Compare 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.
10 Jan
11 Jan
12 Jan
13 Jan
14 Jan
15 Jan
16 Jan
Journey information
Overview: Train from Treviglio to Milan
Trains from Treviglio to Milan run on average 85 times per day, taking around 32m. Cheap train tickets for this journey start at £4 if you book in advance.
There are 74 trains per day. The earliest train runs at 00:02, the last at 23:57. The fastest train covers the 32 km distance in 21m.
Distance 32 km |
Average train duration 32m |
Cheapest ticket price £4 |
Trains per day 85 |
Direct trains 74 |
Fastest train 21m |
First train 00:02 |
Last train 23:57 |
Train companies: Regionale, Trenord from Treviglio to Milan trainsRegionale, Trenord trains will get you between Treviglio and Milan from £4. With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Regionale
Trenord
FAQs: Treviglio to Milan train
Find answers to the most common questions about traveling from Treviglio 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 Treviglio and Milan
- 6:00 AM - 8:00 PM Monday - Sunday
- Free
- Parking is available near the station, open 24/7.
- Agriturismo Bassanella
- Better Sushi Treviglio
- Outside the main entrance.
- Ramps.
- €1
- Hotel Meuble' Atlantic
- Hotel San Martino
- Located in the main hall
- SIXT
- Located in the main hall
- Free
- Hall 1: main entrance, ticket office, and platforms
- Hall 2: waiting area and shops
- Bus: Several local lines available
- Train: Regional and local services
- 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
- 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
Most popular train connections from Treviglio
More options for your journey from Treviglio to Milan
Here are some other resources that might have the information you need
