The average train between Roskilde and Silkeborg takes 4h 16m and the fastest train takes 3h 29m. The train service runs several times per day from Roskilde 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 3 times a day between Roskilde and Silkeborg. The earliest departure is at 12:55 AM at night, and the last departure from Roskilde is at 9:59 PM which arrives into Silkeborg at 2:14 AM. All services require a transfer, and take on average 4h 16m. The schedules shown below are for the next available departures.

4h 36m • 1 change

3h 52m • 1 change
Arrives next day

4h 13m • 1 change

5h 19m • 1 change

4h 19m • 1 change
Arrives next day

4h 15m • 1 change

4h 36m • 1 change

4h 5m • 1 change

3h 29m • 1 change

3h 29m • 1 change
Want to know about travelling from Roskilde 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 Roskilde to Silkeborg. However, there are services departing from Roskilde station and arriving at Silkeborg station via Skanderborg St.. The journey, including transfers, takes approximately 4h 16m.
Roskilde to Silkeborg train services, operated by Danish Railways (DSB), depart from Roskilde St. station.
Roskilde to Silkeborg train services, operated by Danish Railways (DSB), arrive at Skanderborg St. station.
Book your Roskilde to Silkeborg train tickets online with Danish Railways (DSB) and GoCollective.
The distance between Roskilde and Silkeborg is 168.6 km. The road distance is 303 km.
Danish Railways (DSB) operates a train from Roskilde St. to Skanderborg St. every 4 hours. Tickets cost kr 400–650 and the journey takes 2h 59m.