The average train between Sankt Gallen and Lake Lucerne takes 2h and the fastest train takes 1h 56m. There is a train service every few hours from Sankt Gallen to Lake Lucerne. 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 Sankt Gallen and Lake Lucerne. The earliest departure is at 5:07 AM in the morning, and the last departure from Sankt Gallen is at 8:27 PM which arrives into Lake Lucerne at 10:25 PM. All services require a transfer at Luzern Verkehrshaus and take an average of 2h. The schedules shown below are for the next available departures.

2h 18m • 1 change

1h 56m • 1 change

1h 57m • 1 change

1h 56m • 1 change

2h 18m • 1 change

1h 56m • 1 change

1h 57m • 1 change

1h 56m • 1 change

2h 18m • 1 change

1h 56m • 1 change

1h 57m • 1 change

1h 56m • 1 change

2h 18m • 1 change

1h 56m • 1 change

1h 57m • 1 change

1h 56m • 1 change
Want to know about travelling from Sankt Gallen to Lake Lucerne? 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 Sankt Gallen to Lake Lucerne. However, there are services departing from Sankt Gallen station and arriving at Lake Lucerne station via Luzern Verkehrshaus. The journey, including transfers, takes approximately 2h.
Sankt Gallen to Lake Lucerne train services, operated by Swiss Federal Railways (SBB CFF FFS), depart from St. Gallen station.
Sankt Gallen to Lake Lucerne train services, operated by Swiss Federal Railways (SBB CFF FFS), arrive at Luzern Verkehrshaus station.
Book your Sankt Gallen to Lake Lucerne train tickets online with Swiss Federal Railways (SBB CFF FFS), SBB GmbH and Railjet.
The distance between Sankt Gallen and Lake Lucerne is 86.4 km. The road distance is 123 km.
Schweizerische Südostbahn AG operates a train from St. Gallen to Luzern Verkehrshaus hourly. Tickets cost CHF 35–55 and the journey takes 2h 6m.