The average train between Lucerne and St. Margrethen SG takes 2h 59m and the fastest train takes 2h 57m. There is a train service every few hours from Lucerne to St. Margrethen SG. 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 Lucerne and St. Margrethen SG. The earliest departure is at 7:39 AM in the morning, and the last departure from Lucerne is at 5:39 PM which arrives into St. Margrethen SG at 8:46 PM. All services require a transfer at St. Gallen and take an average of 2h 59m. The schedules shown below are for the next available departures.

2h 57m • 1 change

2h 57m • 1 change

2h 57m • 1 change

2h 57m • 1 change

3h 7m • 1 change

2h 57m • 1 change

2h 57m • 1 change

2h 57m • 1 change

3h 7m • 1 change

2h 57m • 1 change

2h 57m • 1 change

2h 57m • 1 change

3h 7m • 1 change

2h 57m • 1 change

2h 57m • 1 change

2h 57m • 1 change

3h 7m • 1 change

2h 57m • 1 change

2h 57m • 1 change

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