The average train between Zürich HB and Willisau takes 2h 11m and the fastest train takes 2h 6m. There is a train service every few hours from Zürich HB to Willisau. 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 Zürich HB and Willisau. The earliest departure is at 5:53 AM in the morning, and the last departure from Zürich HB is at 8:55 PM which arrives into Willisau at 11:29 PM. All services require a transfer at Langenthal and take an average of 2h 11m. The schedules shown below are for the next available departures.

2h 6m • 1 change

2h 6m • 1 change

2h 6m • 1 change

2h 6m • 1 change

2h 6m • 1 change

2h 6m • 1 change

2h 6m • 1 change

2h 6m • 1 change

2h 6m • 1 change

2h 6m • 1 change

2h 6m • 1 change

2h 6m • 1 change
Want to know about travelling from Zürich HB to Willisau? 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 Zürich HB to Willisau. However, there are services departing from Zürich HB station and arriving at Willisau station via Langenthal. The journey, including transfers, takes approximately 2h 11m.
Zürich HB to Willisau train services, operated by Swiss Federal Railways (SBB CFF FFS), depart from Zürich HB station.
Zürich HB to Willisau train services, operated by Swiss Federal Railways (SBB CFF FFS), arrive at Willisau station.
Book your Zürich HB to Willisau train tickets online with Swiss Federal Railways (SBB CFF FFS) and BLS AG.
The distance between Zürich HB and Willisau is 49.9 km. The road distance is 103 km.
You can take a vehicle from Zürich HB to Willisau via Zürich HB and Langenthal in around 2h 4m.