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

4h 54m • 1 change

4h 50m • 1 change

4h 23m • 1 change

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