The cheapest and fastest trains from Milan to Varese
Cheapest price
£6
Average price
£6
Fastest journey
46 m
Average duration
46 m
Trains per day
138
Distance
49 km
The best way to find a cheap train ticket from Milan to Varese is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Milan to Varese will cost around £6 if you buy it on the day, but you can find cheap train tickets today for only £6.
Of the 138 trains that leave Milan for Varese every day 113 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct trains cover the 49 km distance in an average of 46 m but if you time it right, some trains will get you there in just 46 m .
The slowest trains will take 46 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 1208521:160h54Milano Bovisa Politecnico22:10Varese Nord£61One-way0 changes
Regionale TRENORD 206517:290h46Milano Bovisa Politecnico18:15Varese Nord£61One-way0 changes
Regionale TRENORD 404312:590h46Milano Bovisa Politecnico13:45Varese Nord£61One-way0 changes
Regionale TRENORD 1008921:460h54Milano Bovisa Politecnico22:40Varese Nord£61One-way0 changes
Regionale TRENORD 100299:460h54Milano Bovisa Politecnico10:40Varese Nord£61One-way0 changes
Regionale TRENORD 206517:290h46Milano Bovisa Politecnico18:15Varese Nord£61One-way0 changes
Regionale TRENORD 404312:590h46Milano Bovisa Politecnico13:45Varese Nord£61One-way0 changes
Regionale TRENORD 207118:290h46Milano Bovisa Politecnico19:15Varese Nord£61One-way0 changes
Regionale TRENORD 3110:590h46Milano Bovisa Politecnico11:45Varese Nord£61One-way0 changes
Regionale TRENORD 5515:590h46Milano Bovisa Politecnico16:45Varese Nord£61One-way0 changes
Travel Information
Compare train and coach for Milan to Varese
Omio recommends booking the train as it is the most popular option from Milan to Varese among Omio's users. If you are prioritising price take the coach with prices starting from £6. For those with little time consider booking a train which can get you there in 55m. 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 coach costs an average of £6, and a train costs an average of £6.
Distance: 49 km
Compare train with
Most popular Train | Coach |
|---|---|
£6 Average Price | £6 Average Price Cheapest |
1h 25m Average total duration Fastest 55m Onboard + 30m Additional time* | 1h 36m Average total duration 1h 6m 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 Varese train times
The table below shows live departures for Milan to Varese 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 |
|---|---|---|---|---|---|
Regionale TRENORD 10214 · Autobus TRENORD 2512A | 6:40 Milan Porta Garibaldi | 1h02 | 7:42 Varese station | 1 change | |
Regionale TRENORD 13 | 6:46 Milano Bovisa Politecnico | 1h03 | 7:49 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 13 | 6:46 Milano Bovisa Politecnico | 0h54 | 7:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 13 | 6:46 Milano Bovisa Politecnico | 0h54 | 7:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 1015 | 7:16 Milano Bovisa Politecnico | 0h54 | 8:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 1015 | 7:16 Milano Bovisa Politecnico | 1h05 | 8:21 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 1015 | 7:16 Milano Bovisa Politecnico | 0h54 | 8:10 Varese Nord | 0 changesdirect | |
Regionale 10216 · Autobus TRENORD 2514A | 7:40 Milan Porta Garibaldi | 1h02 | 8:42 Varese station | 1 change | |
Regionale TRENORD 10017 | 7:46 Milano Bovisa Politecnico | 0h54 | 8:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10017 | 7:46 Milano Bovisa Politecnico | 0h54 | 8:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 19 | 7:59 Milano Bovisa Politecnico | 0h46 | 8:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 19 | 7:59 Milano Bovisa Politecnico | 0h46 | 8:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 19 | 7:59 Milano Bovisa Politecnico | 0h52 | 8:51 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 12021 | 8:16 Milano Bovisa Politecnico | 0h54 | 9:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 12021 | 8:16 Milano Bovisa Politecnico | 0h54 | 9:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10218 · Autobus TRENORD 2516A | 8:40 Milan Porta Garibaldi | 1h02 | 9:42 Varese station | 1 change | |
Regionale TRENORD 10023 | 8:46 Milano Bovisa Politecnico | 0h54 | 9:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10023 | 8:46 Milano Bovisa Politecnico | 0h54 | 9:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 25 | 8:59 Milano Bovisa Politecnico | 0h46 | 9:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 25 | 8:59 Milano Bovisa Politecnico | 0h46 | 9:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 25 | 8:59 Milano Bovisa Politecnico | 0h52 | 9:51 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 10220 · Autobus TRENORD 2518A | 9:40 Milan Porta Garibaldi | 1h02 | 10:42 Varese station | 1 change | |
Regionale TRENORD 10029 | 9:46 Milano Bovisa Politecnico | 0h54 | 10:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10029 | 9:46 Milano Bovisa Politecnico | 0h54 | 10:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 29 | 9:59 Milano Bovisa Politecnico | 0h46 | 10:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 29 | 9:59 Milano Bovisa Politecnico | 0h52 | 10:51 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 29 | 9:59 Milano Bovisa Politecnico | 0h46 | 10:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 2934 · Autobus TRENORD 2520A | 10:05 Milan Porta Garibaldi | 1h37 | 11:42 Varese station | 1 change | |
S5 TRENORD 24528 · Autobus TRENORD 2520A | 10:14 Milano Certosa | 1h28 | 11:42 Varese station | 1 change | |
Regionale Veloce 2020 · S5 TRENORD 24530 · Autobus TRENORD 9530A | 10:15 Milan Porta Garibaldi | 2h01 | 12:16 Varese station | 2 changes | |
S5 TRENORD 24530 · Autobus TRENORD 9530A | 10:18 Milano Forlanini | 1h58 | 12:16 Varese station | 1 change | |
Regionale TRENORD 10031 | 10:46 Milano Bovisa Politecnico | 0h54 | 11:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10031 | 10:46 Milano Bovisa Politecnico | 0h54 | 11:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 31 | 10:59 Milano Bovisa Politecnico | 0h52 | 11:51 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 31 | 10:59 Milano Bovisa Politecnico | 0h46 | 11:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 31 | 10:59 Milano Bovisa Politecnico | 0h46 | 11:45 Varese Nord | 0 changesdirect | |
Regionale 10224 · Autobus TRENORD 2522A | 11:40 Milan Porta Garibaldi | 1h02 | 12:42 Varese station | 1 change | |
Regionale TRENORD 10035 | 11:46 Milano Bovisa Politecnico | 0h54 | 12:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10035 | 11:46 Milano Bovisa Politecnico | 0h54 | 12:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 4037 | 11:59 Milano Bovisa Politecnico | 0h52 | 12:51 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 4037 | 11:59 Milano Bovisa Politecnico | 0h46 | 12:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 4037 | 11:59 Milano Bovisa Politecnico | 0h46 | 12:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 1039 | 12:16 Milano Bovisa Politecnico | 0h54 | 13:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 1039 | 12:16 Milano Bovisa Politecnico | 0h54 | 13:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 1039 | 12:16 Milano Bovisa Politecnico | 1h05 | 13:21 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 10226 · Autobus TRENORD 2524A | 12:40 Milan Porta Garibaldi | 1h02 | 13:42 Varese station | 1 change | |
Regionale TRENORD 10041 | 12:46 Milano Bovisa Politecnico | 0h54 | 13:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10041 | 12:46 Milano Bovisa Politecnico | 0h54 | 13:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 4043 | 12:59 Milano Bovisa Politecnico | 0h52 | 13:51 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 4043 | 12:59 Milano Bovisa Politecnico | 0h46 | 13:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 4043 | 12:59 Milano Bovisa Politecnico | 0h46 | 13:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 11043 | 13:16 Milano Bovisa Politecnico | 0h54 | 14:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 11043 | 13:16 Milano Bovisa Politecnico | 0h54 | 14:10 Varese Nord | 0 changesdirect | |
Regionale 10228 · Autobus TRENORD 2526A | 13:40 Milan Porta Garibaldi | 1h02 | 14:42 Varese station | 1 change | |
Regionale TRENORD 10045 | 13:46 Milano Bovisa Politecnico | 0h54 | 14:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10045 | 13:46 Milano Bovisa Politecnico | 0h54 | 14:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 47 | 13:59 Milano Bovisa Politecnico | 0h46 | 14:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 47 | 13:59 Milano Bovisa Politecnico | 0h46 | 14:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 47 | 13:59 Milano Bovisa Politecnico | 0h52 | 14:51 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 12047 | 14:16 Milano Bovisa Politecnico | 0h54 | 15:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 12047 | 14:16 Milano Bovisa Politecnico | 0h54 | 15:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10230 · Autobus TRENORD 2528A | 14:40 Milan Porta Garibaldi | 1h02 | 15:42 Varese station | 1 change | |
Regionale TRENORD 10049 | 14:46 Milano Bovisa Politecnico | 0h54 | 15:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10049 | 14:46 Milano Bovisa Politecnico | 0h54 | 15:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 51 | 14:59 Milano Bovisa Politecnico | 0h46 | 15:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 51 | 14:59 Milano Bovisa Politecnico | 0h52 | 15:51 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 51 | 14:59 Milano Bovisa Politecnico | 0h46 | 15:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 12053 | 15:16 Milano Bovisa Politecnico | 0h54 | 16:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 12053 | 15:16 Milano Bovisa Politecnico | 0h54 | 16:10 Varese Nord | 0 changesdirect | |
Regionale 10232 · Autobus TRENORD 2530A | 15:40 Milan Porta Garibaldi | 1h02 | 16:42 Varese station | 1 change | |
Regionale TRENORD 10055 | 15:46 Milano Bovisa Politecnico | 0h54 | 16:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10055 | 15:46 Milano Bovisa Politecnico | 0h54 | 16:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 55 | 15:59 Milano Bovisa Politecnico | 0h46 | 16:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 55 | 15:59 Milano Bovisa Politecnico | 0h46 | 16:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 55 | 15:59 Milano Bovisa Politecnico | 0h52 | 16:51 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 12057 | 16:16 Milano Bovisa Politecnico | 0h54 | 17:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 12057 | 16:16 Milano Bovisa Politecnico | 0h54 | 17:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10234 · Autobus TRENORD 2532A | 16:40 Milan Porta Garibaldi | 1h02 | 17:42 Varese station | 1 change | |
Regionale TRENORD 10059 | 16:46 Milano Bovisa Politecnico | 0h54 | 17:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10059 | 16:46 Milano Bovisa Politecnico | 0h54 | 17:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 61 | 16:59 Milano Bovisa Politecnico | 0h46 | 17:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 61 | 16:59 Milano Bovisa Politecnico | 0h52 | 17:51 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 61 | 16:59 Milano Bovisa Politecnico | 0h46 | 17:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 12063 | 17:16 Milano Bovisa Politecnico | 0h54 | 18:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 12063 | 17:16 Milano Bovisa Politecnico | 0h54 | 18:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 2065 | 17:29 Milano Bovisa Politecnico | 0h52 | 18:21 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 2065 | 17:29 Milano Bovisa Politecnico | 0h46 | 18:15 Varese Nord | 0 changesdirect | |
Regionale TRENORD 2065 | 17:29 Milano Bovisa Politecnico | 0h46 | 18:15 Varese Nord | 0 changesdirect | |
Regionale 10236 · Autobus TRENORD 1534A | 17:40 Milan Porta Garibaldi | 1h02 | 18:42 Varese station | 1 change | |
Regionale TRENORD 10065 | 17:46 Milano Bovisa Politecnico | 0h54 | 18:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10065 | 17:46 Milano Bovisa Politecnico | 0h54 | 18:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 67 | 17:59 Milano Bovisa Politecnico | 0h52 | 18:51 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 67 | 17:59 Milano Bovisa Politecnico | 0h46 | 18:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 67 | 17:59 Milano Bovisa Politecnico | 0h46 | 18:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 25306 · Autobus TRENORD 2504A | 18:05 Milan Porta Garibaldi | 1h07 | 19:12 Varese station | 1 change | |
Regionale TRENORD 11069 | 18:16 Milano Bovisa Politecnico | 0h54 | 19:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 11069 | 18:16 Milano Bovisa Politecnico | 0h54 | 19:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 2071 | 18:29 Milano Bovisa Politecnico | 0h46 | 19:15 Varese Nord | 0 changesdirect | |
Regionale TRENORD 2071 | 18:29 Milano Bovisa Politecnico | 0h52 | 19:21 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 2071 | 18:29 Milano Bovisa Politecnico | 0h46 | 19:15 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10238 · Autobus TRENORD 2536A | 18:40 Milan Porta Garibaldi | 1h02 | 19:42 Varese station | 1 change | |
Regionale TRENORD 10073 | 18:46 Milano Bovisa Politecnico | 0h54 | 19:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10073 | 18:46 Milano Bovisa Politecnico | 0h54 | 19:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 75 | 18:59 Milano Bovisa Politecnico | 0h46 | 19:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 75 | 18:59 Milano Bovisa Politecnico | 0h52 | 19:51 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 75 | 18:59 Milano Bovisa Politecnico | 0h46 | 19:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 25308 · Autobus TRENORD 2506A | 19:05 Milan Porta Garibaldi | 1h07 | 20:12 Varese station | 1 change | |
Regionale TRENORD 2075 | 19:16 Milano Bovisa Politecnico | 1h05 | 20:21 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 2075 | 19:16 Milano Bovisa Politecnico | 0h54 | 20:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 2075 | 19:16 Milano Bovisa Politecnico | 0h54 | 20:10 Varese Nord | 0 changesdirect | |
Regionale 10240 · Autobus TRENORD 2538A | 19:40 Milan Porta Garibaldi | 1h02 | 20:42 Varese station | 1 change | |
Regionale TRENORD 12079 | 19:46 Milano Bovisa Politecnico | 0h54 | 20:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 12079 | 19:46 Milano Bovisa Politecnico | 0h54 | 20:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 2081 | 19:59 Milano Bovisa Politecnico | 0h52 | 20:51 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 2081 | 19:59 Milano Bovisa Politecnico | 0h46 | 20:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 2081 | 19:59 Milano Bovisa Politecnico | 0h46 | 20:45 Varese Nord | 0 changesdirect | |
Regionale TRENORD 11081 | 20:16 Milano Bovisa Politecnico | 0h54 | 21:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 11081 | 20:16 Milano Bovisa Politecnico | 0h54 | 21:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10242 · Autobus TRENORD 2540A | 20:40 Milan Porta Garibaldi | 1h02 | 21:42 Varese station | 1 change | |
Regionale TRENORD 83 | 20:46 Milano Bovisa Politecnico | 1h05 | 21:51 Varese Casbeno | 0 changesdirect | |
Regionale TRENORD 83 | 20:46 Milano Bovisa Politecnico | 0h54 | 21:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 83 | 20:46 Milano Bovisa Politecnico | 0h54 | 21:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 12085 | 21:16 Milano Bovisa Politecnico | 0h54 | 22:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 12085 | 21:16 Milano Bovisa Politecnico | 0h54 | 22:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10244 · Autobus TRENORD 2542A | 21:40 Milan Porta Garibaldi | 1h02 | 22:42 Varese station | 1 change | |
Regionale TRENORD 10089 | 21:46 Milano Bovisa Politecnico | 0h54 | 22:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10089 | 21:46 Milano Bovisa Politecnico | 0h54 | 22:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10091 | 22:46 Milano Bovisa Politecnico | 0h54 | 23:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10091 | 22:46 Milano Bovisa Politecnico | 0h54 | 23:40 Varese Nord | 0 changesdirect | |
S5 TRENORD 24582 · Autobus TRENORD 582A | 23:44 Milano Certosa | 1h16 | 1:00 Varese station | 1 change | |
S5 TRENORD 24582 · Autobus TRENORD 582A | 23:44 Milano Certosa | 1h16 | 1:00 Varese station | 1 change | |
| Friday 19 June | |||||
Regionale TRENORD 2914 · Autobus TRENORD 2510A | 5:05 Milan Porta Garibaldi | 1h37 | 6:42 Varese station | 1 change | |
Regionale TRENORD 10009 | 5:46 Milano Bovisa Politecnico | 0h54 | 6:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10009 | 5:46 Milano Bovisa Politecnico | 0h54 | 6:40 Varese Nord | 0 changesdirect | |
Regionale TRENORD 10009 · Autobus TRENORD 1009A · Regionale TRENORD 20 | 5:46 Milano Bovisa Politecnico | 1h22 | 7:08 Varese Casbeno | 2 changes | |
Regionale TRENORD 1011 | 6:16 Milano Bovisa Politecnico | 0h54 | 7:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 1011 | 6:16 Milano Bovisa Politecnico | 0h54 | 7:10 Varese Nord | 0 changesdirect | |
Regionale TRENORD 1011 | 6:16 Milano Bovisa Politecnico | 1h03 | 7:19 Varese Casbeno | 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 Varese 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 Jun
20 Jun
21 Jun
22 Jun
23 Jun
24 Jun
25 Jun
26 Jun
27 Jun
28 Jun
29 Jun
30 Jun
01 Jul
02 Jul
Journey information
Overview: Train from Milan to Varese
Trains from Milan to Varese run on average 126 times per day, taking around 55m. Cheap train tickets for this journey start at £6 if you book in advance.
There are 105 trains per day. The earliest train runs at 00:01, the last at 23:58. The fastest train covers the 49 km distance in 54m.
Distance 49 km |
Average train duration 55m |
Cheapest ticket price £6 |
Trains per day 126 |
Direct trains 105 |
Fastest train 54m |
First train 0:01 |
Last train 23:58 |
Cheapest Month Aug |
Cheapest Day Tue |
High Season Jul - Sept |
Low Season Jan - Mar |
Busiest Day Sun |
Least Busy Day Wed |
Best time to book 77 days |
Train companies: Regionale, Trenord from Milan to Varese trainsRegionale, Trenord trains will get you between Milan and Varese from £6. With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Regionale
Trenord
FAQs: Milan to Varese train
Find answers to the most common questions about traveling from Milan to Varese 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 Varese, this guide helps you travel smarter and with confidence.

popular train stations
Important Stations and Airports in Milan and Varese
- 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
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- Parking is available near the station, accessible from Viale Certosa
- Burger King
- Ristorante Pizzeria La Certosa
- Outside the main entrance
- Ramps, restrooms
- €1
- Hotel Raffaello
- Hotel Mirage
- Klima Hotel Milano Fiere
- Located near the main entrance
- Free
- Bus: Several lines available
- Tram: Line 14
- 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 - 10:00 PM Monday - Sunday
- Free
- The car park is open 7 days a week, 24 hours a day. Access is available from Piazzale Trento
- Ristorante Bologna
- Trattoria Caprese
- Outside the main entrance
- Elevators, ramps, restrooms
- €1
- Palace Grand Hotel Varese
- Hotel di Varese
- UNAHOTELS Varese
- Located in the main hall
- Avis
- Europcar
- Located in the main hall
- Free
- Hall 1: main entrance, platforms 1-5 for regional and suburban trains
- Hall 2: ticket office and waiting area
- Bus: Several lines available
- Train: Regional and suburban lines
More options for your journey from Milan to Varese
Here are some other resources that might have the information you need

