Cheapest price
£6
Average price
£7
Fastest journey
38 m
Average duration
44 m
Trains per day
110
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 £7 if you buy it on the day, but you can find cheap train tickets today for only £6.
Of the 110 trains that leave Milan for Varese every day 90 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 44 m but if you time it right, some trains will get you there in just 38 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.
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 train with prices starting from £5. 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.
Most popular Train | Coach |
---|---|
£5 Average Price Cheapest | £7 Average Price |
1h 25m average duration Fastest 55m Onboard + 30m Additional time* | 1h 40m average duration 1h 10m Onboard + 30m Additional time* |
0.0 - 0.0kg CO2 emissions Lowest | 0.0 - 0.1kg CO2 emissions |
Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Provider | Departs | Duration | Arrives | Changes | Tickets |
---|---|---|---|---|---|
![]() | 08:46 Milano Bovisa Politecnico | 0h54 | 09:40 Varese Nord | 0 changesdirect | |
![]() | 08:59 Milano Bovisa Politecnico | 0h52 | 09:51 Varese Casbeno | 0 changesdirect | |
![]() | 08:59 Milano Bovisa Politecnico | 0h46 | 09:45 Varese Nord | 0 changesdirect | |
![]() | 09:03 Milano Bovisa Politecnico | 0h57 | 10:00 Varese station | 1 change | |
![]() | 09:14 Milano Certosa | 1h04 | 10:18 Varese station | 0 changesdirect | |
![]() | 09:32 Milan Porta Garibaldi | 0h52 | 10:24 Varese station | 0 changesdirect | |
![]() | 09:44 Milano Certosa | 1h04 | 10:48 Varese station | 0 changesdirect | |
![]() | 09:46 Milano Bovisa Politecnico | 0h54 | 10:40 Varese Nord | 0 changesdirect | |
![]() | 09:59 Milano Bovisa Politecnico | 0h52 | 10:51 Varese Casbeno | 0 changesdirect | |
![]() | 09:59 Milano Bovisa Politecnico | 0h46 | 10:45 Varese Nord | 0 changesdirect | |
![]() | 10:03 Milano Bovisa Politecnico | 0h57 | 11:00 Varese station | 1 change | |
![]() | 10:14 Milano Certosa | 1h04 | 11:18 Varese station | 0 changesdirect | |
![]() | 10:16 Milano Bovisa Politecnico | 0h54 | 11:10 Varese Nord | 0 changesdirect | |
![]() | 10:16 Milano Bovisa Politecnico | 1h05 | 11:21 Varese Casbeno | 0 changesdirect | |
![]() | 10:32 Milan Porta Garibaldi | 0h52 | 11:24 Varese station | 0 changesdirect | |
![]() | 10:44 Milano Certosa | 1h04 | 11:48 Varese station | 0 changesdirect | |
![]() | 10:46 Milano Bovisa Politecnico | 0h54 | 11:40 Varese Nord | 0 changesdirect | |
![]() | 10:59 Milano Bovisa Politecnico | 0h46 | 11:45 Varese Nord | 0 changesdirect | |
![]() | 10:59 Milano Bovisa Politecnico | 0h52 | 11:51 Varese Casbeno | 0 changesdirect | |
![]() | 11:03 Milano Bovisa Politecnico | 0h57 | 12:00 Varese station | 1 change | |
![]() | 11:14 Milano Certosa | 1h04 | 12:18 Varese station | 0 changesdirect | |
![]() | 11:16 Milano Bovisa Politecnico | 0h54 | 12:10 Varese Nord | 0 changesdirect | |
![]() | 11:32 Milan Porta Garibaldi | 0h52 | 12:24 Varese station | 0 changesdirect | |
![]() | 11:44 Milano Certosa | 1h04 | 12:48 Varese station | 0 changesdirect | |
![]() | 11:46 Milano Bovisa Politecnico | 0h54 | 12:40 Varese Nord | 0 changesdirect | |
![]() | 11:59 Milano Bovisa Politecnico | 0h52 | 12:51 Varese Casbeno | 0 changesdirect | |
![]() | 11:59 Milano Bovisa Politecnico | 0h46 | 12:45 Varese Nord | 0 changesdirect | |
![]() | 12:03 Milano Bovisa Politecnico | 0h57 | 13:00 Varese station | 1 change | |
![]() | 12:14 Milano Certosa | 1h04 | 13:18 Varese station | 0 changesdirect | |
![]() | 12:32 Milan Porta Garibaldi | 0h52 | 13:24 Varese station | 0 changesdirect | |
![]() | 12:44 Milano Certosa | 1h04 | 13:48 Varese station | 0 changesdirect | |
![]() | 12:46 Milano Bovisa Politecnico | 0h54 | 13:40 Varese Nord | 0 changesdirect | |
![]() | 12:59 Milano Bovisa Politecnico | 0h52 | 13:51 Varese Casbeno | 0 changesdirect | |
![]() | 12:59 Milano Bovisa Politecnico | 0h46 | 13:45 Varese Nord | 0 changesdirect | |
![]() | 13:03 Milano Bovisa Politecnico | 0h57 | 14:00 Varese station | 1 change | |
![]() | 13:14 Milano Certosa | 1h04 | 14:18 Varese station | 0 changesdirect | |
![]() | 13:32 Milan Porta Garibaldi | 0h52 | 14:24 Varese station | 0 changesdirect | |
![]() | 13:44 Milano Certosa | 1h04 | 14:48 Varese station | 0 changesdirect | |
![]() | 13:46 Milano Bovisa Politecnico | 0h54 | 14:40 Varese Nord | 0 changesdirect | |
![]() | 13:59 Milano Bovisa Politecnico | 0h46 | 14:45 Varese Nord | 0 changesdirect | |
![]() | 13:59 Milano Bovisa Politecnico | 0h52 | 14:51 Varese Casbeno | 0 changesdirect | |
![]() | 14:03 Milano Bovisa Politecnico | 0h57 | 15:00 Varese station | 1 change | |
![]() | 14:14 Milano Certosa | 1h04 | 15:18 Varese station | 0 changesdirect | |
![]() | 14:32 Milan Porta Garibaldi | 0h52 | 15:24 Varese station | 0 changesdirect | |
![]() | 14:44 Milano Certosa | 1h04 | 15:48 Varese station | 0 changesdirect | |
![]() | 14:46 Milano Bovisa Politecnico | 0h54 | 15:40 Varese Nord | 0 changesdirect | |
![]() | 14:59 Milano Bovisa Politecnico | 0h46 | 15:45 Varese Nord | 0 changesdirect | |
![]() | 14:59 Milano Bovisa Politecnico | 0h52 | 15:51 Varese Casbeno | 0 changesdirect | |
![]() | 15:03 Milano Bovisa Politecnico | 0h57 | 16:00 Varese station | 1 change | |
![]() | 15:14 Milano Certosa | 1h04 | 16:18 Varese station | 0 changesdirect | |
![]() | 15:32 Milan Porta Garibaldi | 0h52 | 16:24 Varese station | 0 changesdirect | |
![]() | 15:44 Milano Certosa | 1h04 | 16:48 Varese station | 0 changesdirect | |
![]() | 15:46 Milano Bovisa Politecnico | 0h54 | 16:40 Varese Nord | 0 changesdirect | |
![]() | 15:59 Milano Bovisa Politecnico | 0h46 | 16:45 Varese Nord | 0 changesdirect | |
![]() | 15:59 Milano Bovisa Politecnico | 0h52 | 16:51 Varese Casbeno | 0 changesdirect | |
![]() | 16:03 Milano Bovisa Politecnico | 0h57 | 17:00 Varese station | 1 change | |
![]() | 16:14 Milano Certosa | 1h04 | 17:18 Varese station | 0 changesdirect | |
![]() | 16:16 Milano Bovisa Politecnico | 0h54 | 17:10 Varese Nord | 0 changesdirect | |
![]() | 16:32 Milan Porta Garibaldi | 0h52 | 17:24 Varese station | 0 changesdirect | |
![]() | 16:44 Milano Certosa | 1h04 | 17:48 Varese station | 0 changesdirect | |
![]() | 16:46 Milano Bovisa Politecnico | 0h54 | 17:40 Varese Nord | 0 changesdirect | |
![]() | 16:59 Milano Bovisa Politecnico | 0h52 | 17:51 Varese Casbeno | 0 changesdirect | |
![]() | 16:59 Milano Bovisa Politecnico | 0h46 | 17:45 Varese Nord | 0 changesdirect | |
![]() | 17:05 Milan Porta Garibaldi | 0h55 | 18:00 Varese station | 1 change | |
![]() | 17:14 Milano Certosa | 1h04 | 18:18 Varese station | 0 changesdirect | |
![]() | 17:32 Milan Porta Garibaldi | 0h52 | 18:24 Varese station | 0 changesdirect | |
![]() | 17:44 Milano Certosa | 1h04 | 18:48 Varese station | 0 changesdirect | |
![]() | 17:46 Milano Bovisa Politecnico | 1h05 | 18:51 Varese Casbeno | 0 changesdirect | |
![]() | 17:46 Milano Bovisa Politecnico | 0h54 | 18:40 Varese Nord | 0 changesdirect | |
![]() | 18:03 Milano Bovisa Politecnico | 0h57 | 19:00 Varese station | 1 change | |
![]() | 18:14 Milano Certosa | 1h04 | 19:18 Varese station | 0 changesdirect | |
![]() | 18:16 Milano Bovisa Politecnico | 0h54 | 19:10 Varese Nord | 0 changesdirect | |
![]() | 18:32 Milan Porta Garibaldi | 0h52 | 19:24 Varese station | 0 changesdirect | |
![]() | 18:44 Milano Certosa | 1h04 | 19:48 Varese station | 0 changesdirect | |
![]() | 18:46 Milano Bovisa Politecnico | 1h05 | 19:51 Varese Casbeno | 0 changesdirect | |
![]() | 18:46 Milano Bovisa Politecnico | 0h54 | 19:40 Varese Nord | 0 changesdirect | |
![]() | 19:03 Milano Bovisa Politecnico | 0h57 | 20:00 Varese station | 1 change | |
![]() | 19:14 Milano Certosa | 1h04 | 20:18 Varese station | 0 changesdirect | |
![]() | 19:44 Milano Certosa | 1h04 | 20:48 Varese station | 0 changesdirect | |
![]() | 19:46 Milano Bovisa Politecnico | 0h54 | 20:40 Varese Nord | 0 changesdirect | |
![]() | 20:03 Milano Bovisa Politecnico | 0h57 | 21:00 Varese station | 1 change | |
![]() | 20:14 Milano Certosa | 1h04 | 21:18 Varese station | 0 changesdirect | |
![]() | 20:44 Milano Certosa | 1h04 | 21:48 Varese station | 0 changesdirect | |
![]() | 20:46 Milano Bovisa Politecnico | 0h54 | 21:40 Varese Nord | 0 changesdirect | |
![]() | 21:03 Milano Bovisa Politecnico | 0h57 | 22:00 Varese station | 1 change | |
![]() | 21:14 Milano Certosa | 1h04 | 22:18 Varese station | 0 changesdirect | |
![]() | 21:44 Milano Certosa | 1h16 | 23:00 Varese station | 1 change | |
Sunday 15 June | |||||
![]() | 03:32 Milan Porta Garibaldi | 0h52 | 04:24 Varese station | 0 changesdirect | |
![]() | 03:46 Milano Bovisa Politecnico | 0h54 | 04:40 Varese Nord | 0 changesdirect | |
![]() | 04:10 Milan Porta Garibaldi | 0h50 | 05:00 Varese station | 1 change | |
![]() | 04:32 Milan Porta Garibaldi | 0h52 | 05:24 Varese station | 0 changesdirect | |
![]() | 04:44 Milano Certosa | 1h04 | 05:48 Varese station | 0 changesdirect | |
![]() | 04:46 Milano Bovisa Politecnico | 1h05 | 05:51 Varese Casbeno | 0 changesdirect | |
![]() | 04:46 Milano Bovisa Politecnico | 0h54 | 05:40 Varese Nord | 0 changesdirect | |
![]() | 05:03 Milano Bovisa Politecnico | 0h57 | 06:00 Varese station | 1 change | |
![]() | 05:14 Milano Certosa | 1h04 | 06:18 Varese station | 0 changesdirect | |
![]() | 05:32 Milan Porta Garibaldi | 0h52 | 06:24 Varese station | 0 changesdirect | |
![]() | 05:44 Milano Certosa | 1h04 | 06:48 Varese station | 0 changesdirect | |
![]() | 05:46 Milano Bovisa Politecnico | 0h54 | 06:40 Varese Nord | 0 changesdirect | |
![]() | 05:59 Milano Bovisa Politecnico | 0h46 | 06:45 Varese Nord | 0 changesdirect | |
![]() | 05:59 Milano Bovisa Politecnico | 0h52 | 06:51 Varese Casbeno | 0 changesdirect | |
![]() | 06:05 Milan Porta Garibaldi | 0h55 | 07:00 Varese station | 1 change | |
![]() | 06:14 Milano Certosa | 1h04 | 07:18 Varese station | 0 changesdirect | |
![]() | 06:32 Milan Porta Garibaldi | 0h52 | 07:24 Varese station | 0 changesdirect | |
![]() | 06:44 Milano Certosa | 1h04 | 07:48 Varese station | 0 changesdirect | |
![]() | 06:46 Milano Bovisa Politecnico | 0h54 | 07:40 Varese Nord | 0 changesdirect | |
![]() | 06:59 Milano Bovisa Politecnico | 0h52 | 07:51 Varese Casbeno | 0 changesdirect | |
![]() | 06:59 Milano Bovisa Politecnico | 0h46 | 07:45 Varese Nord | 0 changesdirect | |
![]() | 07:03 Milano Bovisa Politecnico | 0h57 | 08:00 Varese station | 1 change | |
![]() | 07:14 Milano Certosa | 1h04 | 08:18 Varese station | 0 changesdirect | |
![]() | 07:29 Milano Bovisa Politecnico | 0h38 | 08:07 Varese Nord | 0 changesdirect | |
![]() | 07:32 Milan Porta Garibaldi | 0h52 | 08:24 Varese station | 0 changesdirect | |
![]() | 07:40 Milan Porta Garibaldi | 1h08 | 08:48 Varese station | 1 change | |
![]() | 07:46 Milano Bovisa Politecnico | 0h54 | 08:40 Varese Nord | 0 changesdirect | |
![]() | 07:59 Milano Bovisa Politecnico | 0h46 | 08:45 Varese Nord | 0 changesdirect | |
![]() | 07:59 Milano Bovisa Politecnico | 0h52 | 08:51 Varese Casbeno | 0 changesdirect | |
![]() | 08:03 Milano Bovisa Politecnico | 0h57 | 09:00 Varese station | 1 change | |
![]() | 08:32 Milan Porta Garibaldi | 0h52 | 09:24 Varese station | 0 changesdirect | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Distance 48 km |
Average train duration 55m |
Cheapest ticket price £5 |
Trains per day 112 |
Direct trains 94 |
Fastest train 46m |
First train 04:46 |
Last train 21:46 |
For as little as £5 you can travel by train between Milan and Varese with Regionale, Trenord and Malpensa Express. Omio will show you the best deals, timetables and tickets available for this trip.
Regionale is the regional train service of national carrier Trenitalia connecting all of Italy. It is the most convinient way to travel to both big cities and the smallest villages all over the Italian country. The regional trains have different names depending on the region they serve, such as Treno Regionale Veloce (TRV) and Treno Regionale Lento (TRL). Treno Rock and Treno pop are the two new trains part of Trenitalia regionale fleet. Trenitalia Regionale offers a variety of ticket types, including single tickets (economy and standard), return tickets, and season tickets. Onboard facilities include free Wi-Fi, air conditioning, and power sockets. The most popular routes for Regionale are between Rome and Milan, Naples and Florence, and Turin and Venice.
Milan to Varese train information with Regionale:
Passengers board the train most frequently from Milan Porta Garibaldi, which is located around 2 miles (3.2 km) away from the city centre, and they get off the train at Varese, located 0.6 miles (1 km) away from the city centre.
Here are some other resources that might have the information you need