The average train between Villingen-Schwenningen and Lucerne takes 3h 19m and the fastest train takes 2h 53m. There is a train service every few hours from Villingen-Schwenningen to 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 Villingen-Schwenningen and Lucerne. The earliest departure is at 5:47 AM in the morning, and the last departure from Villingen-Schwenningen is at 9:04 PM which arrives into Lucerne at 12:25 AM. All services require a transfer at Singen and take an average of 3h 19m. The schedules shown below are for the next available departures.


3h 21m • 2 changes


3h 21m • 2 changes


3h 21m • 2 changes


3h 21m • 2 changes


2h 53m • 2 changes


3h 21m • 2 changes


3h 20m • 2 changes


3h 21m • 2 changes


3h 38m • 2 changes


3h 22m • 2 changes


3h 21m • 2 changes


3h 20m • 2 changes


3h 38m • 2 changes


3h 22m • 2 changes


3h 21m • 2 changes


3h 20m • 2 changes
Want to know about travelling from Villingen-Schwenningen to 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 Villingen-Schwenningen to Lucerne. However, there are services departing from Villingen-Schwenningen station and arriving at Lucerne station via Singen. The journey, including transfers, takes approximately 3h 19m.
Villingen-Schwenningen to Lucerne train services, operated by Deutsche Bahn Regio (DB Regional), depart from Villingen Bahnhof/ZOB station.
Villingen-Schwenningen to Lucerne train services, operated by Deutsche Bahn Regio (DB Regional), arrive at Luzern station.
Book your Villingen-Schwenningen to Lucerne train tickets online with Deutsche Bahn Regio (DB Regional), Swiss Federal Railways (SBB CFF FFS) and Deutsche Bahn Intercity (DB IC).
The distance between Villingen-Schwenningen and Lucerne is 113.4 km. The road distance is 183 km.
You can take a train from Villingen Bahnhof/ZOB to Luzern via Singen and Zürich HB in around 3h 20m.