The average train between Viborg and Silkeborg takes 2h 14m and the fastest train takes 1h 57m. There is an hourly train service from Viborg to Silkeborg. 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 Viborg and Silkeborg. The earliest departure is at 4:47 AM at night, and the last departure from Viborg is at 11:00 PM which arrives into Silkeborg at 5:31 AM. All services require a transfer, and take on average 2h 14m. The schedules shown below are for the next available departures.

2h 14m • 1 change

2h 14m • 1 change

2h 14m • 1 change

2h 14m • 1 change

2h 14m • 1 change

2h 14m • 1 change

2h 14m • 1 change

2h 14m • 1 change

1h 58m • 1 change

2h 10m • 1 change

2h 1m • 1 change

2h 5m • 1 change
Want to know about travelling from Viborg to Silkeborg? 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 Viborg to Silkeborg. However, there are services departing from Viborg station and arriving at Silkeborg station via Aarhus H. The journey, including transfers, takes approximately 2h 14m.
Viborg to Silkeborg train services, operated by Danish Railways (DSB), depart from Viborg St. station.
Viborg to Silkeborg train services, operated by Danish Railways (DSB), arrive at Silkeborg St. station.
Book your Viborg to Silkeborg train tickets online with Danish Railways (DSB).
The distance between Viborg and Silkeborg is 32.7 km. The road distance is 137 km.
You can take a train from Viborg St. to Silkeborg St. via Aarhus H in around 2h 16m.