The cheapest and fastest trains from Milan to Treviglio
Cheapest price
£4
Average price
£4
Fastest journey
17 m
Average duration
18 m
Trains per day
123
Distance
32 km
The best way to find a cheap train ticket from Milan to Treviglio is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Milan to Treviglio will cost around £4 if you buy it on the day, but you can find cheap train tickets today for only £4.
Of the 123 trains that leave Milan for Treviglio every day 102 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 18 m but if you time it right, some trains will get you there in just 17 m .
The slowest trains will take 19 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.
S5 TRENORD 245279:410h39Milano Forlanini10:20Treviglio station£41One-way0 changes
Regionale TRENORD 262311:250h29Milan Centrale11:54Treviglio station£41One-way0 changes
S5 TRENORD 245115:410h39Milano Forlanini6:20Treviglio station£41One-way0 changes
S5 TRENORD 245197:410h39Milano Forlanini8:20Treviglio station£41One-way0 changes
Regionale TRENORD 1094120:010h23Milano Lambrate20:24Treviglio station£41One-way0 changes
Regionale TRENORD 1060918:540h17Milano Lambrate19:11Treviglio station£41One-way0 changes
Regionale TRENORD 1060516:540h17Milano Lambrate17:11Treviglio station£41One-way0 changes
Regionale TRENORD 1060717:540h17Milano Lambrate18:11Treviglio station£41One-way0 changes
Regionale TRENORD 1060313:460h19Milano Lambrate14:05Treviglio station£41One-way0 changes
Regionale TRENORD 1065119:520h19Milano Lambrate20:11Treviglio station£41One-way0 changes
Travel Information
Compare coach and train for Milan to Treviglio
Omio recommends booking the train as it is the most popular option from Milan to Treviglio among Omio's users. If you are prioritising price take the train with prices starting from £4. For those with little time consider booking a coach which can get you there in 26m. 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 train costs an average of £4, and a coach costs an average of £4.
Distance: 32 km
Compare train with
Most popular Train | Coach |
|---|---|
£4 Average Price Cheapest | £4 Average Price |
1h 1m Average total duration 31m Onboard + 30m Additional time* | 56m Average total duration Fastest 26m 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
Milan to Treviglio train times
The table below shows live departures for Milan to Treviglio trains for today, Thursday 18 June. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
S5 TRENORD 24583 | 23:41 Milano Forlanini | 0h39 | 0:20 Treviglio station | 0 changesdirect | |
| Friday 19 June | |||||
Regionale TRENORD 2247 | 0:13 Milano Lambrate | 0h22 | 0:35 Treviglio Ovest | 0 changesdirect | |
S5 TRENORD 24511 | 5:41 Milano Forlanini | 0h39 | 6:20 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10913 | 6:01 Milano Lambrate | 0h23 | 6:24 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10913 · Regionale TRENORD 22621 | 6:01 Milano Lambrate | 0h40 | 6:41 Treviglio Ovest | 1 change | |
S5 TRENORD 24513 | 6:11 Milano Forlanini | 0h39 | 6:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2253 | 6:23 Milan Porta Garibaldi | 0h42 | 7:05 Treviglio Ovest | 0 changesdirect | |
Regionale TRENORD 2613 | 6:25 Milan Centrale | 0h29 | 6:54 Treviglio station | 0 changesdirect | |
S5 TRENORD 24515 | 6:41 Milano Forlanini | 0h39 | 7:20 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2253 | 6:42 Milano Lambrate | 0h23 | 7:05 Treviglio Ovest | 0 changesdirect | |
Regionale TRENORD 2693 | 6:43 Milan Porta Garibaldi | 0h35 | 7:18 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2693 | 6:58 Milano Lambrate | 0h20 | 7:18 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10915 | 7:01 Milano Lambrate | 0h23 | 7:24 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2215 · Regionale TRENORD 2206 | 7:05 Milan Centrale | 0h52 | 7:57 Treviglio Ovest | 1 change | |
S5 TRENORD 24517 | 7:11 Milano Forlanini | 0h39 | 7:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2615 | 7:25 Milan Centrale | 0h29 | 7:54 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2615 · Regionale TRENORD 22627 | 7:25 Milan Centrale | 0h46 | 8:11 Treviglio Ovest | 1 change | |
Regionale TRENORD 2255 · Regionale TRENORD 22626 | 7:39 Milano Lambrate | 1h02 | 8:41 Treviglio Ovest | 1 change | |
S5 TRENORD 24519 | 7:41 Milano Forlanini | 0h39 | 8:20 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10917 | 8:01 Milano Lambrate | 0h23 | 8:24 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2217 · Regionale TRENORD 2260 | 8:05 Milan Centrale | 0h52 | 8:57 Treviglio Ovest | 1 change | |
S5 TRENORD 24521 | 8:11 Milano Forlanini | 0h39 | 8:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2617 | 8:25 Milan Centrale | 0h29 | 8:54 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2617 · Regionale TRENORD 22631 | 8:25 Milan Centrale | 0h46 | 9:11 Treviglio Ovest | 1 change | |
Regionale TRENORD 2257 · Regionale TRENORD 22630 | 8:39 Milano Lambrate | 1h02 | 9:41 Treviglio Ovest | 1 change | |
S5 TRENORD 24523 | 8:41 Milano Forlanini | 0h39 | 9:20 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10919 | 9:01 Milano Lambrate | 0h23 | 9:24 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2219 · Regionale TRENORD 2262 | 9:05 Milan Centrale | 0h52 | 9:57 Treviglio Ovest | 1 change | |
S5 TRENORD 24525 | 9:11 Milano Forlanini | 0h39 | 9:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2619 | 9:25 Milan Centrale | 0h29 | 9:54 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2619 · Regionale TRENORD 22635 | 9:25 Milan Centrale | 0h46 | 10:11 Treviglio Ovest | 1 change | |
S5 TRENORD 24527 | 9:41 Milano Forlanini | 0h39 | 10:20 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2221 | 10:05 Milan Centrale | 0h30 | 10:35 Treviglio Ovest | 0 changesdirect | |
Regionale TRENORD 2221 · Regionale TRENORD 22634 | 10:05 Milan Centrale | 0h43 | 10:48 Treviglio station | 1 change | |
S5 TRENORD 24529 | 10:11 Milano Forlanini | 0h39 | 10:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10601 | 10:23 Milan Porta Garibaldi | 0h42 | 11:05 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2601 · Regionale TRENORD 22639 | 10:25 Milan Centrale | 0h46 | 11:11 Treviglio Ovest | 1 change | |
Regionale TRENORD 2601 | 10:25 Milan Centrale | 0h29 | 10:54 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10601 | 10:40 Milano Lambrate | 0h25 | 11:05 Treviglio station | 0 changesdirect | |
S5 TRENORD 24531 | 10:41 Milano Forlanini | 0h39 | 11:20 Treviglio station | 0 changesdirect | |
S5 TRENORD 24533 | 11:11 Milano Forlanini | 0h39 | 11:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2623 | 11:25 Milan Centrale | 0h29 | 11:54 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2623 · Regionale TRENORD 22643 | 11:25 Milan Centrale | 0h46 | 12:11 Treviglio Ovest | 1 change | |
S5 TRENORD 24535 | 11:41 Milano Forlanini | 0h39 | 12:20 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10925 | 12:01 Milano Lambrate | 0h23 | 12:24 Treviglio station | 0 changesdirect | |
S5 TRENORD 24537 | 12:11 Milano Forlanini | 0h39 | 12:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2625 · Regionale TRENORD 22647 | 12:25 Milan Centrale | 0h46 | 13:11 Treviglio Ovest | 1 change | |
Regionale TRENORD 2625 | 12:25 Milan Centrale | 0h29 | 12:54 Treviglio station | 0 changesdirect | |
S5 TRENORD 24539 | 12:41 Milano Forlanini | 0h39 | 13:20 Treviglio station | 0 changesdirect | |
S5 TRENORD 24541 | 13:11 Milano Forlanini | 0h39 | 13:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2627 · Regionale TRENORD 22651 | 13:25 Milan Centrale | 0h46 | 14:11 Treviglio Ovest | 1 change | |
Regionale TRENORD 2627 | 13:25 Milan Centrale | 0h29 | 13:54 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10603 | 13:28 Milan Porta Garibaldi | 0h37 | 14:05 Treviglio station | 0 changesdirect | |
S5 TRENORD 24543 | 13:41 Milano Forlanini | 0h39 | 14:20 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10603 | 13:46 Milano Lambrate | 0h19 | 14:05 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10929 | 14:01 Milano Lambrate | 0h23 | 14:24 Treviglio station | 0 changesdirect | |
S5 TRENORD 24545 | 14:11 Milano Forlanini | 0h39 | 14:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2629 | 14:25 Milan Centrale | 0h29 | 14:54 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2629 · Regionale TRENORD 22655 | 14:25 Milan Centrale | 0h46 | 15:11 Treviglio Ovest | 1 change | |
S5 TRENORD 24547 | 14:41 Milano Forlanini | 0h39 | 15:20 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10931 | 15:01 Milano Lambrate | 0h23 | 15:24 Treviglio station | 0 changesdirect | |
S5 TRENORD 24549 | 15:11 Milano Forlanini | 0h39 | 15:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2271 | 15:20 Milan Porta Garibaldi | 0h45 | 16:05 Treviglio Ovest | 0 changesdirect | |
Regionale TRENORD 2631 | 15:25 Milan Centrale | 0h29 | 15:54 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2271 | 15:39 Milano Lambrate | 0h26 | 16:05 Treviglio Ovest | 0 changesdirect | |
S5 TRENORD 24551 | 15:41 Milano Forlanini | 0h39 | 16:20 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10933 | 16:01 Milano Lambrate | 0h23 | 16:24 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2233 · Regionale TRENORD 2276 | 16:05 Milan Centrale | 0h52 | 16:57 Treviglio Ovest | 1 change | |
S5 TRENORD 24553 | 16:11 Milano Forlanini | 0h39 | 16:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2273 | 16:20 Milan Porta Garibaldi | 0h45 | 17:05 Treviglio Ovest | 0 changesdirect | |
Regionale TRENORD 2633 | 16:25 Milan Centrale | 0h29 | 16:54 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10605 | 16:36 Milan Porta Garibaldi | 0h35 | 17:11 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2273 | 16:39 Milano Lambrate | 0h26 | 17:05 Treviglio Ovest | 0 changesdirect | |
S5 TRENORD 24555 | 16:41 Milano Forlanini | 0h39 | 17:20 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10605 | 16:54 Milano Lambrate | 0h17 | 17:11 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10935 | 17:01 Milano Lambrate | 0h23 | 17:24 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2235 · Regionale TRENORD 2278 | 17:05 Milan Centrale | 0h52 | 17:57 Treviglio Ovest | 1 change | |
S5 TRENORD 24557 | 17:11 Milano Forlanini | 0h39 | 17:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2275 | 17:20 Milan Porta Garibaldi | 0h45 | 18:05 Treviglio Ovest | 0 changesdirect | |
Regionale TRENORD 10905 | 17:22 Milano Lambrate | 0h20 | 17:42 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2635 | 17:25 Milan Centrale | 0h29 | 17:54 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10607 | 17:36 Milan Porta Garibaldi | 0h35 | 18:11 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2275 | 17:39 Milano Lambrate | 0h26 | 18:05 Treviglio Ovest | 0 changesdirect | |
S5 TRENORD 24559 | 17:41 Milano Forlanini | 0h39 | 18:20 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2675 | 17:50 Milan Centrale | 0h27 | 18:17 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10607 | 17:54 Milano Lambrate | 0h17 | 18:11 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10937 | 18:01 Milano Lambrate | 0h23 | 18:24 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2237 · Regionale TRENORD 2280 | 18:05 Milan Centrale | 0h52 | 18:57 Treviglio Ovest | 1 change | |
S5 TRENORD 24561 | 18:11 Milano Forlanini | 0h39 | 18:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2277 | 18:20 Milan Porta Garibaldi | 0h45 | 19:05 Treviglio Ovest | 0 changesdirect | |
Regionale TRENORD 10907 | 18:22 Milano Lambrate | 0h20 | 18:42 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2637 | 18:25 Milan Centrale | 0h29 | 18:54 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10609 | 18:36 Milan Porta Garibaldi | 0h35 | 19:11 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2277 | 18:39 Milano Lambrate | 0h26 | 19:05 Treviglio Ovest | 0 changesdirect | |
S5 TRENORD 24563 | 18:41 Milano Forlanini | 0h39 | 19:20 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2677 | 18:50 Milan Centrale | 0h27 | 19:17 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10609 | 18:54 Milano Lambrate | 0h17 | 19:11 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10939 | 19:01 Milano Lambrate | 0h23 | 19:24 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2239 · Regionale TRENORD 2282 | 19:05 Milan Centrale | 0h52 | 19:57 Treviglio Ovest | 1 change | |
S5 TRENORD 24565 | 19:11 Milano Forlanini | 0h39 | 19:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2279 | 19:20 Milan Porta Garibaldi | 0h45 | 20:05 Treviglio Ovest | 0 changesdirect | |
Regionale TRENORD 2639 | 19:25 Milan Centrale | 0h29 | 19:54 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10651 | 19:36 Milan Porta Garibaldi | 0h35 | 20:11 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2279 | 19:39 Milano Lambrate | 0h26 | 20:05 Treviglio Ovest | 0 changesdirect | |
S5 TRENORD 24567 | 19:41 Milano Forlanini | 0h39 | 20:20 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10651 | 19:52 Milano Lambrate | 0h19 | 20:11 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10941 | 20:01 Milano Lambrate | 0h23 | 20:24 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2241 · Regionale TRENORD 2284 | 20:05 Milan Centrale | 0h52 | 20:57 Treviglio Ovest | 1 change | |
S5 TRENORD 24569 | 20:11 Milano Forlanini | 0h39 | 20:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2641 | 20:25 Milan Centrale | 0h29 | 20:54 Treviglio station | 0 changesdirect | |
S5 TRENORD 24571 | 20:41 Milano Forlanini | 0h39 | 21:20 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10943 | 21:01 Milano Lambrate | 0h23 | 21:24 Treviglio station | 0 changesdirect | |
S5 TRENORD 24573 | 21:11 Milano Forlanini | 0h39 | 21:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2643 · Regionale TRENORD 22683 | 21:25 Milan Centrale | 0h46 | 22:11 Treviglio Ovest | 1 change | |
Regionale TRENORD 2643 | 21:25 Milan Centrale | 0h29 | 21:54 Treviglio station | 0 changesdirect | |
S5 TRENORD 24575 | 21:41 Milano Forlanini | 0h39 | 22:20 Treviglio station | 0 changesdirect | |
Regionale TRENORD 10945 | 22:01 Milano Lambrate | 0h23 | 22:24 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2245 | 22:05 Milan Centrale | 0h30 | 22:35 Treviglio Ovest | 0 changesdirect | |
S5 TRENORD 24577 | 22:11 Milano Forlanini | 0h39 | 22:50 Treviglio station | 0 changesdirect | |
Regionale TRENORD 2645 | 22:25 Milan Centrale | 0h29 | 22:54 Treviglio station | 0 changesdirect | |
S5 TRENORD 24579 | 22:41 Milano Forlanini | 0h39 | 23:20 Treviglio station | 0 changesdirect | |
S5 TRENORD 24581 | 23:11 Milano Forlanini | 0h39 | 23:50 Treviglio station | 0 changesdirect | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Milan to Treviglio by coach or train
Compare coach and 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.
19 Jun
20 Jun
21 Jun
22 Jun
23 Jun
24 Jun
25 Jun
Journey information
Overview: Train from Milan to Treviglio
Trains from Milan to Treviglio run on average 95 times per day, taking around 31m. Cheap train tickets for this journey start at £4 if you book in advance.
There are 80 trains per day. The earliest train runs at 00:05, the last at 23:56. The fastest train covers the 32 km distance in 23m.
Distance 32 km |
Average train duration 31m |
Cheapest ticket price £4 |
Trains per day 95 |
Direct trains 80 |
Fastest train 23m |
First train 0:05 |
Last train 23:56 |
Cheapest Month Aug |
Cheapest Day Mon |
High Season Apr - Jun |
Low Season Oct - Dec |
Busiest Day Sun |
Least Busy Day Wed |
Best time to book 2 days |
Train companies: Regionale from Milan to Treviglio trainsRegionale trains will get you between Milan and Treviglio from £4. With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Regionale
FAQs: Milan to Treviglio train
Find answers to the most common questions about traveling from Milan to Treviglio 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 Treviglio, this guide helps you travel smarter and with confidence.

popular train stations
Important Stations and Airports in Milan and Treviglio
- 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
- 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
More options for your journey from Milan to Treviglio
Here are some other resources that might have the information you need

