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

4h 9m • 1 change

4h 9m • 1 change
Arrives next day

8h 9m • 1 change

5h 39m • 1 change

3h 47m • 1 change

3h 47m • 1 change

4h 19m • 1 change

4h 6m • 1 change

3h 51m • 1 change

3h 47m • 1 change

3h 47m • 1 change

4h 10m • 1 change

3h 51m • 1 change

3h 47m • 1 change

3h 47m • 1 change

4h 18m • 1 change

3h 50m • 1 change

3h 47m • 1 change

3h 47m • 1 change

4h 20m • 1 change

3h 51m • 1 change

3h 47m • 1 change

3h 47m • 1 change
Want to know about travelling from Slagelse 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 Slagelse to Viborg. However, there are services departing from Slagelse station and arriving at Viborg station via Aarhus H. The journey, including transfers, takes approximately 4h 11m.
Slagelse to Viborg train services, operated by Danish Railways (DSB), depart from Slagelse St. station.
Slagelse to Viborg train services, operated by Danish Railways (DSB), arrive at Viborg St. station.
The distance between Slagelse and Viborg is 168.6 km. The road distance is 320 km.
You can take a train from Slagelse St. to Viborg St. via Aarhus H in around 3h 43m.