The cheapest and fastest trains from Milan to Legnano
Cheapest price
£4
Average price
£4
Fastest journey
23 m
Average duration
23 m
Trains per day
118
Distance
26 km
The best way to find a cheap train ticket from Milan to Legnano is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Milan to Legnano will cost around £4 if you buy it on the day, but you can find cheap train tickets today for only £4.
Of the 118 trains that leave Milan for Legnano every day 87 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct trains cover the 26 km distance in an average of 23 m but if you time it right, some trains will get you there in just 23 m .
The slowest trains will take 23 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.
Regionale TRENORD 2952
Regionale TRENORD 2910
Regionale TRENORD 10335
Regionale TRENORD 2970
Regionale TRENORD 2918 · Regionale TRENORD 1211
Regionale TRENORD 10335
Regionale TRENORD 10339
Regionale TRENORD 1229
Regionale TRENORD 1283
Regionale TRENORD 1273Travel Information
Compare train and coach for Milan to Legnano
Omio recommends booking the train as it is the most popular option from Milan to Legnano 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 train which can get you there in 35m. The ticket price range depends on the travel mode: a train costs an average of £4, and a coach costs an average of £24.
Distance: 26 km
Compare train with
Most popular Train | Coach |
|---|---|
£4 Average Price Cheapest | £50 Average Price |
1h 5m Average total duration Fastest 35m Onboard + 30m Additional time* | 1h 14m Average total duration 44m Onboard + 30m Additional time* |
![]() Most popular train company | ![]() Most popular bus company |
Direct Options | Direct Options |
Live departures
Milan to Legnano train times
The table below shows live departures for Milan to Legnano trains for today, Wednesday 18 February. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
Regionale TRENORD 1217 | 06:54 Milano Bovisa Politecnico | 0h23 | 07:17 Castellanza station | 0 changesdirect | |
Regionale TRENORD 319 · Regionale TRENORD 1226 | 07:03 Milano Bovisa Politecnico | 0h38 | 07:41 Castellanza station | 1 change | |
Regionale TRENORD 2926 · Regionale TRENORD 10326 | 07:05 Milan Porta Garibaldi | 0h48 | 07:53 Castellanza station | 1 change | |
Regionale TRENORD 2928 | 07:25 Milan Centrale | 0h40 | 08:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2928 | 07:35 Milan Porta Garibaldi | 0h30 | 08:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 10321 | 07:42 Milano Bovisa Politecnico | 0h23 | 08:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 1223 | 07:54 Milano Bovisa Politecnico | 0h23 | 08:17 Castellanza station | 0 changesdirect | |
Regionale TRENORD 325 · Regionale TRENORD 1232 | 08:03 Milano Bovisa Politecnico | 0h38 | 08:41 Castellanza station | 1 change | |
Regionale TRENORD 2930 · Regionale TRENORD 10332 | 08:05 Milan Porta Garibaldi | 0h48 | 08:53 Castellanza station | 1 change | |
Regionale TRENORD 2932 | 08:25 Milan Centrale | 0h40 | 09:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2932 | 08:35 Milan Porta Garibaldi | 0h30 | 09:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 10327 | 08:42 Milano Bovisa Politecnico | 0h23 | 09:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 1229 | 08:54 Milano Bovisa Politecnico | 0h23 | 09:17 Castellanza station | 0 changesdirect | |
Regionale TRENORD 329 · Regionale TRENORD 1236 | 09:03 Milano Bovisa Politecnico | 0h38 | 09:41 Castellanza station | 1 change | |
Regionale TRENORD 2934 · Regionale TRENORD 10336 | 09:05 Milan Porta Garibaldi | 0h48 | 09:53 Castellanza station | 1 change | |
Regionale TRENORD 2936 | 09:25 Milan Centrale | 0h40 | 10:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2936 | 09:35 Milan Porta Garibaldi | 0h30 | 10:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 10331 | 09:42 Milano Bovisa Politecnico | 0h23 | 10:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 1231 | 09:54 Milano Bovisa Politecnico | 0h23 | 10:17 Castellanza station | 0 changesdirect | |
Regionale TRENORD 333 · Regionale TRENORD 1240 | 10:03 Milano Bovisa Politecnico | 0h38 | 10:41 Castellanza station | 1 change | |
Regionale TRENORD 2938 · Regionale TRENORD 10340 | 10:05 Milan Porta Garibaldi | 0h48 | 10:53 Castellanza station | 1 change | |
Regionale TRENORD 2940 | 10:25 Milan Centrale | 0h40 | 11:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2940 | 10:35 Milan Porta Garibaldi | 0h30 | 11:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 10335 | 10:42 Milano Bovisa Politecnico | 0h23 | 11:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 1235 | 10:54 Milano Bovisa Politecnico | 0h23 | 11:17 Castellanza station | 0 changesdirect | |
Regionale TRENORD 337 · Regionale TRENORD 1244 | 11:03 Milano Bovisa Politecnico | 0h38 | 11:41 Castellanza station | 1 change | |
Regionale TRENORD 2942 · Regionale TRENORD 10344 | 11:05 Milan Porta Garibaldi | 0h48 | 11:53 Castellanza station | 1 change | |
Regionale TRENORD 2944 | 11:25 Milan Centrale | 0h40 | 12:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2944 | 11:35 Milan Porta Garibaldi | 0h30 | 12:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 10339 | 11:42 Milano Bovisa Politecnico | 0h23 | 12:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 1241 | 11:54 Milano Bovisa Politecnico | 0h23 | 12:17 Castellanza station | 0 changesdirect | |
Regionale TRENORD 343 · Regionale TRENORD 1246 | 12:03 Milano Bovisa Politecnico | 0h38 | 12:41 Castellanza station | 1 change | |
Regionale TRENORD 2946 · Regionale TRENORD 10348 | 12:05 Milan Porta Garibaldi | 0h48 | 12:53 Castellanza station | 1 change | |
Regionale TRENORD 2948 | 12:25 Milan Centrale | 0h40 | 13:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2948 | 12:35 Milan Porta Garibaldi | 0h30 | 13:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 10345 | 12:42 Milano Bovisa Politecnico | 0h23 | 13:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 1245 | 12:54 Milano Bovisa Politecnico | 0h23 | 13:17 Castellanza station | 0 changesdirect | |
Regionale TRENORD 347 · Regionale TRENORD 1250 | 13:03 Milano Bovisa Politecnico | 0h38 | 13:41 Castellanza station | 1 change | |
Regionale TRENORD 2950 · Regionale TRENORD 10352 | 13:05 Milan Porta Garibaldi | 0h48 | 13:53 Castellanza station | 1 change | |
Regionale TRENORD 2952 | 13:25 Milan Centrale | 0h40 | 14:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2952 | 13:35 Milan Porta Garibaldi | 0h30 | 14:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 10349 | 13:42 Milano Bovisa Politecnico | 0h23 | 14:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 1249 | 13:54 Milano Bovisa Politecnico | 0h23 | 14:17 Castellanza station | 0 changesdirect | |
Regionale TRENORD 351 · Regionale TRENORD 1254 | 14:03 Milano Bovisa Politecnico | 0h38 | 14:41 Castellanza station | 1 change | |
Regionale TRENORD 2954 · Regionale TRENORD 10356 | 14:05 Milan Porta Garibaldi | 0h48 | 14:53 Castellanza station | 1 change | |
Regionale TRENORD 2956 | 14:25 Milan Centrale | 0h40 | 15:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2956 | 14:35 Milan Porta Garibaldi | 0h30 | 15:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 10353 | 14:42 Milano Bovisa Politecnico | 0h23 | 15:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 1255 | 14:54 Milano Bovisa Politecnico | 0h23 | 15:17 Castellanza station | 0 changesdirect | |
Regionale TRENORD 355 · Regionale TRENORD 1260 | 15:03 Milano Bovisa Politecnico | 0h38 | 15:41 Castellanza station | 1 change | |
Regionale TRENORD 2958 · Regionale TRENORD 10360 | 15:05 Milan Porta Garibaldi | 0h48 | 15:53 Castellanza station | 1 change | |
Regionale TRENORD 2960 | 15:25 Milan Centrale | 0h40 | 16:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2960 | 15:35 Milan Porta Garibaldi | 0h30 | 16:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 10357 | 15:42 Milano Bovisa Politecnico | 0h23 | 16:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 1259 | 15:54 Milano Bovisa Politecnico | 0h23 | 16:17 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2962 | 15:55 Milan Centrale | 0h40 | 16:35 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2962 | 16:05 Milan Porta Garibaldi | 0h30 | 16:35 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2263 | 16:24 Milano Bovisa Politecnico | 0h23 | 16:47 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2964 | 16:25 Milan Centrale | 0h40 | 17:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2964 | 16:35 Milan Porta Garibaldi | 0h30 | 17:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 1265 | 16:54 Milano Bovisa Politecnico | 0h23 | 17:17 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2966 | 16:55 Milan Centrale | 0h40 | 17:35 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2966 | 17:05 Milan Porta Garibaldi | 0h30 | 17:35 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2269 | 17:24 Milano Bovisa Politecnico | 0h23 | 17:47 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2968 | 17:25 Milan Centrale | 0h40 | 18:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2968 | 17:35 Milan Porta Garibaldi | 0h30 | 18:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 1273 | 17:54 Milano Bovisa Politecnico | 0h23 | 18:17 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2970 | 17:55 Milan Centrale | 0h40 | 18:35 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2970 | 18:05 Milan Porta Garibaldi | 0h30 | 18:35 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2277 | 18:24 Milano Bovisa Politecnico | 0h23 | 18:47 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2972 | 18:25 Milan Centrale | 0h40 | 19:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2972 | 18:35 Milan Porta Garibaldi | 0h30 | 19:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 1279 | 18:54 Milano Bovisa Politecnico | 0h23 | 19:17 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2974 | 18:55 Milan Centrale | 0h40 | 19:35 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2974 | 19:05 Milan Porta Garibaldi | 0h30 | 19:35 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2976 | 19:25 Milan Centrale | 0h40 | 20:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2976 | 19:35 Milan Porta Garibaldi | 0h30 | 20:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 1283 | 19:54 Milano Bovisa Politecnico | 0h23 | 20:17 Castellanza station | 0 changesdirect | |
Regionale TRENORD 385 · Regionale TRENORD 2284 | 20:03 Milano Bovisa Politecnico | 0h38 | 20:41 Castellanza station | 1 change | |
Regionale TRENORD 2978 · Regionale TRENORD 10384 | 20:05 Milan Porta Garibaldi | 0h48 | 20:53 Castellanza station | 1 change | |
Regionale TRENORD 2980 | 20:25 Milan Centrale | 0h40 | 21:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2980 | 20:35 Milan Porta Garibaldi | 0h30 | 21:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 10387 | 20:42 Milano Bovisa Politecnico | 0h23 | 21:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2982 · Regionale TRENORD 10388 | 21:05 Milan Porta Garibaldi | 0h48 | 21:53 Castellanza station | 1 change | |
Regionale TRENORD 2984 | 21:25 Milan Centrale | 0h40 | 22:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2984 | 21:35 Milan Porta Garibaldi | 0h30 | 22:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 10391 | 21:42 Milano Bovisa Politecnico | 0h23 | 22:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2986 · Regionale TRENORD 10392 | 22:05 Milan Porta Garibaldi | 0h48 | 22:53 Castellanza station | 1 change | |
Regionale TRENORD 2988 | 22:25 Milan Centrale | 0h40 | 23:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 10395 | 22:35 Milan Porta Garibaldi | 0h30 | 23:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2900 · Regionale TRENORD 14300 | 23:05 Milan Porta Garibaldi | 0h48 | 23:53 Castellanza station | 1 change | |
Regionale TRENORD 2902 | 23:25 Milan Centrale | 0h40 | 00:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2902 | 23:35 Milan Porta Garibaldi | 0h30 | 00:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 14301 | 23:42 Milano Bovisa Politecnico | 0h23 | 00:05 Castellanza station | 0 changesdirect | |
| Thursday 19 February | |||||
Regionale TRENORD 2904 · Regionale TRENORD 14304 | 00:05 Milan Porta Garibaldi | 0h48 | 00:53 Castellanza station | 1 change | |
Regionale TRENORD 2906 | 00:25 Milan Centrale | 0h40 | 01:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2906 | 00:35 Milan Porta Garibaldi | 0h30 | 01:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 14305 | 00:42 Milano Bovisa Politecnico | 0h23 | 01:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2908 · Regionale TRENORD 14308 | 01:05 Milan Porta Garibaldi | 0h48 | 01:53 Castellanza station | 1 change | |
Regionale TRENORD 2910 | 01:25 Milan Centrale | 0h40 | 02:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2910 | 01:35 Milan Porta Garibaldi | 0h30 | 02:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 14309 | 01:42 Milano Bovisa Politecnico | 0h23 | 02:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 303 · Autobus TRENORD 1208A | 03:33 Milano Bovisa Politecnico | 0h57 | 04:30 Castellanza station | 1 change | |
Regionale TRENORD 2914 · Regionale TRENORD 10312 | 04:05 Milan Porta Garibaldi | 0h48 | 04:53 Castellanza station | 1 change | |
Regionale TRENORD 2916 | 04:25 Milan Centrale | 0h40 | 05:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2916 | 04:35 Milan Porta Garibaldi | 0h30 | 05:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 10307 | 04:42 Milano Bovisa Politecnico | 0h23 | 05:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 309 · Regionale TRENORD 1214 | 05:03 Milano Bovisa Politecnico | 0h38 | 05:41 Castellanza station | 1 change | |
Regionale TRENORD 2918 · Regionale TRENORD 1211 | 05:05 Milan Porta Garibaldi | 0h42 | 05:47 Castellanza station | 1 change | |
Regionale TRENORD 1211 | 05:24 Milano Bovisa Politecnico | 0h23 | 05:47 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2920 | 05:25 Milan Centrale | 0h40 | 06:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2920 | 05:35 Milan Porta Garibaldi | 0h30 | 06:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 1213 | 05:54 Milano Bovisa Politecnico | 0h23 | 06:17 Castellanza station | 0 changesdirect | |
Regionale TRENORD 313 · Regionale TRENORD 1222 | 06:03 Milano Bovisa Politecnico | 0h38 | 06:41 Castellanza station | 1 change | |
Regionale TRENORD 2922 · Regionale TRENORD 10322 | 06:05 Milan Porta Garibaldi | 0h48 | 06:53 Castellanza station | 1 change | |
Regionale TRENORD 2924 | 06:25 Milan Centrale | 0h40 | 07:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 2924 | 06:35 Milan Porta Garibaldi | 0h30 | 07:05 Castellanza station | 0 changesdirect | |
Regionale TRENORD 10315 | 06:42 Milano Bovisa Politecnico | 0h23 | 07:05 Castellanza 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 Legnano by train or coach
Compare train and coach 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 Feb
20 Feb
21 Feb
22 Feb
23 Feb
24 Feb
25 Feb
Why should you book Milan to Legnano trains with Omio?
Why book with Omio vs Regionale?
- Designed for International Travelers: Omio is in your language including 24/7 customer service and offers multiple payment options, including PayPal, credit cards, and bank transfer, in your preferred currency.
- Compare all your options: Omio allows you to compare Regionale with all available travel options, which are train and bus to ensure you get the best deal for traveling from Milan to Legnano.
Why book with Omio over Trainline or Raileurope?
- Multiple modes of transport: Omio allows you to compare travel options including train and bus to find the ideal travel option from Milan to Legnano.
Journey information
Overview: Train from Milan to Legnano
Trains from Milan to Legnano run on average 74 times per day, taking around 35m. Cheap train tickets for this journey start at £4 if you book in advance.
There are 60 trains per day. The earliest train runs at 00:05, the last at 23:55. The fastest train covers the 26 km distance in 23m.
Distance 26 km |
Average train duration 35m |
Cheapest ticket price £4 |
Trains per day 74 |
Direct trains 60 |
Fastest train 23m |
First train 00:05 |
Last train 23:55 |
Train companies: Regionale from Milan to Legnano trainsRegionale trains will get you between Milan and Legnano 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 Legnano train
Find answers to the most common questions about traveling from Milan to Legnano 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 Legnano, this guide helps you travel smarter and with confidence.

popular train stations
Important Stations and Airports in Milan and Legnano
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- Parking is available near the station with several parking lots in the vicinity.
- Trattoria Casa Fontana
- Osteria del Treno
- Outside the main entrance.
- Elevators, ramps, restrooms.
- €1
- Hotel Sunflower
- Hotel Valganna
- Hotel Ares Milano
- Located in the main hall
- Located in the main hall
- Free
- Hall 1: main entrance, platform 1-4 for regional and suburban trains
- Hall 2: ticket office and waiting area
- Metro: Line M3
- Bus: Lines 82, 92
- Tram: Line 2
- 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
- Free Wi-Fi in the station.
- Caffeteria Panni Caldi
- Princi
- Burgez
- Bricco Café
- U! Come tu mi vuoi
- Autogrill
- Culto
- Accessible facilities such as ticket machines, toilets, and ramps and additional assistance as needed from 07:45 to 22:30.
- Hotel NH Milano Palazzo Moscova
- AC Hotel by Marriott Milano
- Tocq Hotel
- Metro lines: M2, M5
- Bus lines: 43, 56, 70, 94
- Train lines: R21, R31, S1, S11, S2, S5, S7, S8
- 6:00 AM - 8:00 PM Monday - Sunday
- Free
- Parking is available 24/7 with access from Via Gaeta.
- Rolling Stones
- Osteria del Buonumore
- Outside the main entrance.
- Elevators, ramps.
- €1
- Hotel City Legnano
- Welcome Hotel Legnano
- Hotel 2C
- Located in the main hall
- Located in the main hall
- Free
- Hall 1: main entrance, ticket office, and platforms
- Hall 2: waiting area and restrooms
- Bus: Several local lines available
- Train: Regional and suburban train services
More options for your journey from Milan to Legnano
Here are some other resources that might have the information you need

