The average train between Varese and Zug takes 2h 36m and the fastest train takes 2h 24m. There is a train service every few hours from Varese to Zug. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run hourly between Varese and Zug. The earliest departure is at 5:00 AM in the morning, and the last departure from Varese is at 8:06 PM which arrives into Zug at 10:30 PM. All services require a transfer, and take on average 2h 36m. The schedules shown below are for the next available departures.

2h 54m • 1 change

2h 24m • 1 change

2h 54m • 1 change

2h 24m • 1 change

3h • 1 change

2h 24m • 1 change

2h 24m • 1 change

2h 54m • 1 change

3h • 1 change

2h 24m • 1 change

2h 24m • 1 change

2h 54m • 1 change

3h • 1 change

2h 24m • 1 change

2h 24m • 1 change

2h 54m • 1 change
Want to know about travelling from Varese to Zug? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Varese to Zug. However, there are services departing from Varese station and arriving at Zug station via Lugano. The journey, including transfers, takes approximately 2h 36m.
Varese to Zug train services, operated by Trenord, depart from Varese station.
Varese to Zug train services, operated by Trenord, arrive at Zug station.
Book your Varese to Zug train tickets online with Trenord and Swiss Federal Railways (SBB CFF FFS).
The distance between Varese and Zug is 152.2 km. The road distance is 186 km.
You can take a train from Varese to Zug via Lugano in around 2h 43m.