The average train between Viljandi and Narva takes 7h 32m and the fastest train takes 5h 28m. The train service runs several times per day from Viljandi to Narva. 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 4 times a day between Viljandi and Narva. The earliest departure is at 7:08 AM in the morning, and the last departure from Viljandi is at 8:03 PM which arrives into Narva at 9:25 AM. All services require a transfer, and take on average 7h 32m. The schedules shown below are for the next available departures.

5h 28m • 1 change

5h 59m • 1 change

6h 12m • 1 change
Arrives next day

13h 22m • 1 change

5h 28m • 1 change

5h 59m • 1 change

6h 12m • 1 change
Arrives next day

13h 22m • 1 change

5h 28m • 1 change

5h 59m • 1 change

6h 12m • 1 change
Arrives next day

13h 22m • 1 change

5h 28m • 1 change

5h 59m • 1 change

6h 12m • 1 change
Arrives next day

13h 22m • 1 change

5h 28m • 1 change

5h 59m • 1 change

6h 12m • 1 change
Arrives next day

13h 22m • 1 change
Want to know about travelling from Viljandi to Narva? 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 Viljandi to Narva. However, there are services departing from Viljandi station and arriving at Narva station via Tallinn. The journey, including transfers, takes approximately 7h 32m.
Viljandi to Narva train services, operated by Elron, depart from Viljandi station.
Viljandi to Narva train services, operated by Elron, arrive at Narva station.
The distance between Viljandi and Narva is 187.2 km. The road distance is 356 km.
You can take a train from Viljandi to Narva via Tallinn in around 5h 39m.